mysql dos 命令.docx
《mysql dos 命令.docx》由会员分享,可在线阅读,更多相关《mysql dos 命令.docx(9页珍藏版)》请在冰豆网上搜索。
mysqldos命令
mysqldos命令
一、连接MYSQL。
格式:
mysql-h主机地址-u用户名-p用户密码
1、例1:
连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:
mysql>
2、例2:
连接到远程主机上的MYSQL。
假设远程主机的IP为:
110.110.110.110,用户名为root密码为abcd123。
则键入以下命令:
mysql-h110.110.110.110-uroot-pabcd123
(注:
u与root可以不用加空格,其它也一样)
3、退出MYSQL命令:
exit(回车)
二、修改密码。
格式:
mysqladmin-u用户名-p旧密码password新密码
1、例1:
给root加个密码ab12。
首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin-uroot-passwordab12
注:
因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:
再将root的密码改为djg345。
mysqladmin-uroot-pab12passworddjg345
三、增加新用户。
(注意:
和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:
grantselecton数据库.*to用户名@登录主机identifiedby"密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MYSQL,然后键入以下命令:
grantselectinsertupdatedeleteon*.*totest1@"%"Identifiedby"abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grantselectinsertupdatedeleteonmydb.*totest2@localhostidentifiedby"abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grantselectinsertupdatedeleteonmydb.*totest2@localhostidentifiedby"";
在上篇我们讲了登录、增加用户、密码更改等问题。
下篇我们来看看MYSQL中有关数据库方面的操作。
注意:
你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
所有由新奇世界iNENS提供
一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。
也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。
但以前我用过的一个MYSQL旧版本不支持。
我现在用的是mysql-3.23.27-beta-win。
二、显示命令
1、显示数据库列表。
showdatabases;
刚开始时才两个数据库:
mysql和test。
mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
usemysql;//打开库,学过FOXbase的一定不会陌生吧
showtables;
3、显示数据表的结构:
describe表名;
4、建库:
createdatabase库名;
5、建表:
use库名;
createtable表名(字段设定列表);
6、删库和删表:
dropdatabase库名;
droptable表名;
7、将表中记录清空:
deletefrom表名;
8、显示表中的记录:
select*from表名;
三、一个建库和建表以及插入数据的实例
dropdatabaseifexistsschool;//如果存在SCHOOL则删除
createdatabaseschool;//建立库SCHOOL
useschool;//打开库SCHOOL
createtableteacher//建立表TEACHER
(
idint(3)auto_incrementnotnullprimarykey
namechar(10)notnull
addressvarchar(50)default’深圳’
yeardate
);//建表结束
//以下为插入字段
insertintoteachervalues(’’’glchengang’’深圳一中’’1976-10-10’);
insertintoteachervalues(’’’jack’’深圳一中’’1975-12-23’);
注:
在建表中
(1)将ID设为长度为3的数字字段:
int(3)并让它每个记录自动加一:
auto_increment并不能为空:
notnull而且让他成为主字段primarykey
(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。
varchar和char有什么区别呢,只有等以后的文章再说了。
(4)将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。
你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:
下,并在DOS状态进入目录mysqlin,然后键入以下命令:
mysql-uroot-p密码school.bbb
注释:
将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
1.cmd进入mysql登录:
>cdD:
\APMServ5.2.6\MySQL5.1\bin
2.连接数据库(密码空):
>mysql-hlocalhost-uroot-p//主机用户密码
3.查看下数据库有哪些.
>showdatabases;//显示所有数据库.
4.选择数据库
>usewithost;//设置withost为默认数据库,注意分号使用代表一句结束.
5.显示某表的字段
>describexxx;//显示xxx这个表的字段类型默认值等.
6.一些命令:
取消输入,退出,查看服务器状态,显示命令清单:
>\c\q\h\s//每个对应上述不同意思
7.创建一个新的数据库
>createdatabasebadwolf;
8.创建一个新的表(id,content,date有3个字段)
>CREATETABLE`badwolf`.`book`(`id`INT(4)NOTNULL,`content`TEXTNOTNULL,`date`DATETIMENOTNULL,PRIMARYKEY(`id`))ENGINE=MYISAM
9.向插入数据
>insertintobook
>values('1','hahahaha','2009-06-1113:
20');
10.把一个文本导入到数据库内
>loaddatalocalinfile"/x.txt"intotablebook;
11.导入SQL(前提有数据库,没有如下)
>createdatabasebadwolf;//创建badwolf;
>usebadwolf//选择badwolf;
>sourcec:
/badwolf.sql//导入badwolf.sql;
>showtables;//显示导入结果;
12.删除数据库
>DROPDATABASE`news`;
13.解决UTF8导入乱码问题.
>SHOWVARIABLESLIKE'character_set_%';//查看显示数据库相关编码
>setNAMES'utf8';
>setcharacter_set_database=utf8;
>setcharacter_set_server=utf8;
>showvariableslike'character%';//查看显示数据库相关编码
>sourcec:
/badwolf.sql;//导入数据库sql文件
注释:
一次执行的语句需要换行,不用加分号,如果加分号代表语句结束.
----------------------------------------
以下的文章主要介绍的是MySQL命令大全,其中包括MySQL数据库的常用命令,修改MySQL数据库中实际root密码以及对grant的实际应用的介绍,下面就是文章的具体内容描述,望你会有所收获。
MySQL命令大全1、MySQL常用命令
createdatabasename;创建数据库
usedatabasename;选择数据库
dropdatabasename直接删除数据库,不提醒
showtables;显示表
describetablename;表的详细描述
select中加上distinct去除重复字段
MySQLadmindropdatabasename删除数据库前,有提示。
显示当前MySQL版本和当前日期
1selectversion(),current_date;
MySQL命令大全2、修改MySQL中root的密码:
2shell>MySQL-uroot-p
3MySQL>updateusersetpasswordpassword=password(”xueok654123″)whereuser=’root’;
MySQL>flushprivileges//刷新数据库
MySQL>usedbname;打开数据库:
MySQL>showdatabases;显示所有数据库
MySQL>showtables;显示数据库MySQL中所有的表:
先useMySQL;然后
MySQL>describeuser;显示表MySQL数据库中user表的列信息);
3、grant
创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个
MySQL>grantallprivilegeson*.*touser@localhostidentifiedby’something’with
增加新用户
格式:
grantselecton数据库.*to用户名@登录主机identifiedby“密码”
4GRANTALLPRIVILEGESON*.*TOmonty@localhostIDENTIFIEDBY’something’WITHGRANTOPTION;
5GRANTALLPRIVILEGESON*.*TOmonty@”%”IDENTIFIEDBY’something’WITHGRANTOPTION;
删除授权:
6MySQL>revokeallprivilegeson*.*fromroot@”%”;
7MySQL>deletefromuserwhereuser=”root”andhost=”%”;
8MySQL>flushprivileges;
创建一个用户custom在特定客户端登录,可访问特定数据库fangchandb
9MySQL>grantselect,insert,update,delete,create,droponfangchandb.*tocustom@identifiedby‘passwd’
重命名表:
10MySQL>altertablet1renamet2;
MySQL命令大全4、MySQLdump
备份数据库
11shell>MySQLdump-hhost-uroot-pdbname>dbname_backup.sql
恢复数据库
12shell>MySQLadmin-hmyhost-uroot-pcreatedbname
13shell>MySQLdump-hhost-uroot-pdbname如果只想卸出建表指令,则命令如下:
14shell>MySQLadmin-uroot-p-ddatabasename>a.sql
如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:
15shell>MySQLadmin-uroot-p-tdatabasename>a.sql
那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?
16MySQLdump-T./phptestdriver
其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与MySQLdump同一目录。
如果不指定driver表,则将卸出整个数据库的数据。
每个表会生成两个文件,一个为.sql文件,包含建表执行。
另一个为.txt文件,只包含数据,且没有sql指令。
5、可将查询存储在一个文件中并告诉MySQL从文件中读取查询而不是等待键盘输入。
可利用外壳程序键入重定向实用程序来完成这项工作。
例如,如果在文件my_file.sql中存放有查
询,可如下执行这些查询:
例如,如果您想将建表语句提前写在sql.txt中:
17MySQL>MySQL-hmyhost-uroot-pdatabase
在MsSql中用alerttable修改表基本信息、表结构等,可以跟mysql通用的
2011-01-2809:
28
--在MsSql中用alerttable修改表基本信息、表结构等
usemaster
go
if(exists(select*fromsysdatabaseswherename='userDB'))
dropdatabaseuserDB
go
createdatabaseuserDB
go
useuserDB
go
if(exists(select*fromsysobjectswherename='userInfo'))
droptableuserInfo
go
createtableuserInfo(
uNoint,
uBrithdayvarchar(50)
)
go
if(exists(select*fromsysobjectswherename='student'))
droptablestudent
go
createtablestudent(
sNumberintprimarykey
)
go
--向user表新插入列名为uName
altertableuserInfo
adduNamevarchar(10);
go
select*fromuserInfo
go
--从user表删除列名为uName
altertableuserInfo
dropcolumnuName;
go
select*fromuserInfo
go
--修改已存在的列项的类型
altertableuserInfo
altercolumnuBrithdaydatetime;
go
select*fromuserInfo
go
--添加唯一约束
altertableuserInfoadduAgevarchar(20)null
constraintage_uniqueunique;
go
select*fromuserInfo
go
select*frominformation_schema.columnswheretable_name='userInfo'
go
--增加主键,要记住pk_uNo即主键名
altertableuserInfo
addconstraintpk_uNoprimarykey(uNo);
go
select*fromuserInfo
go
select*frominformation_schema.columnswheretable_name='userInfo'
go
--删除主键,这里用到了pk_uNo.若忘了,就用下面第二种方法
altertableuserInfo
dropconstraintpk_uNo;
go
select*fromuserInfo
go
select*frominformation_schema.columnswheretable_name='userInfo'
go
/*另一种删除主键
*当你不知道(或忘了)创建主键时主键名(约束名),
*就像上面的pk_sno(constarint后面的),
*使用下面的删除主键的方法.
declare@pk_namevarchar(100)
select@pk_name=namefromsysobjects
wherextype='pk'andparent_obj=object_id('userInfo')
exec('altertableuserInfodrop)
*/
--添加check约束
altertableuserInfo
addageint
go
altertableuserInfowithnocheck
addconstraintage_checkcheck(age>1)
go
altertableuserInfo
adduNumberint
go
--多个约束一起创建
altertableuserInfoadd
/*添加id主键、自增*/
idintidentity
constraintidprimarykey,
/*添加外键约束*/
uNumberintnull
constraintuNumber
referencesstudent(sNumber),
/*默认约束*/
createDatedecimal(3,3)
constraintcreateDate
default2010-6-1
go
execsp_helpuserInfo
go
select*fromuserInfo;
MYSQL里面是乱码,读取出来正常的解决方法
2011-01-2813:
44
mysql中
插入的中文全是乱码,但网页读取出来是正常的,
进dos下看了一下,也全是乱码。
于是网上搜了一下。
方法如下:
先输密码进数据库
命令行输入
mysql>showvariableslike‘character\_set\_%’;character_set_clientutf8
character_set_connectionutf8
character_set_databaseutf8
character_set_resultsutf8
character_set_serverutf8
character_set_systemutf8mysql>setcharacter_set_results=gbk;
mysql>setcharacter_set_client=gbk;character_set_clientgbk
character_set_connectionutf8
character_set_databaseutf8
character_set_resultsgbk
character_set_serverutf8
character_set_systemutf8
可以输入以下命令建立数据库测试insert,select是否为中文
mysql>createdatabasetest;
mysql>usetest;
mysql>createtabletest(idint(11)notnullauto_incrementprimarykey,namevarchar(100)notNull,ageint(10)notnull)type=MyISAM,defaultcharactersetutf8;
>insertintotest(name,age)values(’本职工作’,19);
>insertintotest(name,age)values(’张工作’,22);
>insertintotest(name,age)values(’王作’,29);
mysql>select*fromtest;
显示表格数据如下
输入以下2条命令改动
再查看一次
mysql>showvariableslike‘character\_set\_%’;
如果显示正常那么就已经完成了