MySQL 命令大全 - 命令详解
上一篇 / 下一篇 2012-06-25 14:16:48 / 个人分类:测试相关
m;\1Z(f0yip0一、连接MYSQL。
wGMO"zc7m051Testing软件测试网 V:@)d4^4K*S5u格式: mysql -h主机地址 -u用户名 -p用户密码
3EE;W:vU]{2l051Testing软件测试网 F{1]&o3pp+f8`1、例1:连接到本机上的MYSQL。
8pU hn]-Ou051Testing软件测试网(I,^E g F hL首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
`)@/j'] Af[M0ORL4_8Y,a9~]U'DN;V02、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
5[9r!iR3GL0O6[.Th051Testing软件测试网g;gt kM7YR2}mysql -h110.110.110.110 -uroot -pabcd123
F;iD\c|.x^0I*h$dU$O:L'hr6Y0(注:u与root可以不用加空格,其它也一样)
:} rag)p*qlk5gk051Testing软件测试网bf @LG|3、退出MYSQL命令: exit (回车)51Testing软件测试网Al^7u*mA
4}Z @7b4q0二、修改密码。
(Y&wI9f } h0DugmWA.u0格式:mysqladmin -u用户名 -p旧密码 password 新密码51Testing软件测试网@H:g/CLE
51Testing软件测试网XO&~M!R oi(B1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令51Testing软件测试网%w)\1Y+\_WS6u#Q,V7q?
|T,S8bD_0mysqladmin -uroot -password ab12
I4E Tvc? p0U7|(`Q0;m4MQ1Mo)s]4Y0注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。51Testing软件测试网 B^W'V{0M(u(y
51Testing软件测试网F'u;pD`(ln2、例2:再将root的密码改为djg345。
1T-f8aXa)Dy[t*} l051Testing软件测试网0^+A9f|+Imysqladmin -uroot -pab12 password djg345
,V4lIw'B[%j)e0&gxv:T5`1a$Q.eW0三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)51Testing软件测试网:Nd.S2z,ig2Q5i-k4}
51Testing软件测试网1qD/KYi'Vz格式:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
5{3m Xe OD051Testing软件测试网T|]3Y/@"GjG}例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
PH'H1a7M051Testing软件测试网$^b]-pW&S#A Ivgrant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\";51Testing软件测试网B(Ta)N;Z _#r
HE c(P9pF0但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。51Testing软件测试网1wJ,q,bJ QVG
:dda]+a.hu^9D0例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查 询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从 internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
7Z`GU:Z.cq051Testing软件测试网cJ6oa'H*h/yogrant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\";
QB$K2m%uP~;CdF4i0"}Fl tX!p4AUy.vZP0如果你不想test2有密码,可以再打一个命令将密码消掉。
1Iy:iWE$t:QoGQ0.Wa a Da3j3Zk0grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";51Testing软件测试网 F]7|8g8d~qt|
:a5O#F:[.?;O.q ^9S0在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
Da&uL:xp)go051Testing软件测试网6j$f~7Z"l?I8E[5t一、操作技巧51Testing软件测试网{$f!wK s })XS&S"hh'@7O
MG#NK/h^7h:S01、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。51Testing软件测试网1b~6Z4dp3[9i9bg
51Testing软件测试网%RbB$^N/_U7t?1H7N2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。51Testing软件测试网]ug3It7]*{'xx;zu
51Testing软件测试网!H(tH6A \y{V*M二、显示命令51Testing软件测试网Y;riEU!qob u8|
S}]?-A01、显示数据库列表。51Testing软件测试网:S L!TDX9r(Lf+K5}
4\9C}?;dM6\0show databases;
n?)[T9j#Q051Testing软件测试网#w4axc}'XP刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。51Testing软件测试网6V iN4k%o
51Testing软件测试网^W)Lu~;k,k2、显示库中的数据表:
CR~"X:bK+k!U']051Testing软件测试网)H0M4~KVKuse mysql; //打开库,学过FOXBASE的一定不会陌生吧
$L d"}Iwno h0P&O}cTx#PV0show tables;
9_OG4el.Wy+CV051Testing软件测试网z0h&N Ev%v3、显示数据表的结构:51Testing软件测试网IV8dh"s3W0[?
51Testing软件测试网ySZ3ERc ^!A(P{Ydescribe 表名;51Testing软件测试网OA\ Hk|JA2N)L@
51Testing软件测试网S/t3u x1}A4、建库:
|;gZ!vC^ ?051Testing软件测试网0A ptn%G%[}/g3mcreate database 库名;51Testing软件测试网"c9N8OXT ]0CW9v@
51Testing软件测试网Y;N-|/m8xfsS)\C5、建表:
3oZ/X7M8{-DNB+V#bX051Testing软件测试网6N.uZe\'quse 库名;51Testing软件测试网(I!e!BC${Z
qo3v1eB8C#~0create table 表名 (字段设定列表);
I o2c+k/Z03p_"Y#]y-z06、删库和删表:
n3h`5YM;x I!q0zvo5]Yj4R0drop database 库名;
%^"e1^/O_7oX3o W051Testing软件测试网N j m5A'q3adrop table 表名;51Testing软件测试网$f%d5P)q!u!{k
51Testing软件测试网5o0L Fg}W!i7、将表中记录清空:51Testing软件测试网3aB5v1Z%g g ^ xy t
51Testing软件测试网$li [ \-B?delete from 表名;
2@ nV s&K T!X0+k_aXlX|'f g08、显示表中的记录:
8ZhfFN4[S'du051Testing软件测试网9L0] Ii:w B6Pselect * from 表名;51Testing软件测试网M m*Ioz(~7Pb4Q#K
]2Fw]H4Y8`7P5p0三、一个建库和建表以及插入数据的实例51Testing软件测试网;t%s3\{PmE(PC
51Testing软件测试网D U)X:Rj o(L,Ydrop database if exists school; //如果存在SCHOOL则删除
3M;c(QE$WXqP051Testing软件测试网4c m'RvZ#cFcreate database school; //建立库SCHOOL
2T,Ie2\ i051Testing软件测试网gT"M F9nl V-iuse school; //打开库SCHOOL
)cs3[4b2m1L5y6F0j!I;o*m:K3?a@0create table teacher //建立表TEACHER51Testing软件测试网y:I GO|HR M(p
51Testing软件测试网,o? S Xv%u8u%Z(51Testing软件测试网 R3q fGM
51Testing软件测试网 o}V,HZ"qmid int(3) auto_increment not null primary key,
0h"`+^le)}VTL051Testing软件测试网$F-V D;^FRC3kname char(10) not null,
XQK4Kj$g`051Testing软件测试网5|'pj2i],W1^address varchar(50) default ’深圳’,51Testing软件测试网8Vq9_%W,}*W,Y+[&yC;{
'[|QsBy:{0year date
0^QR(?7Mg1?0p*bX+e0{iE0); //建表结束51Testing软件测试网y2S)vA [?-k E$MR
51Testing软件测试网a:m%n&~N"q"g//以下为插入字段
y$^N~wb051Testing软件测试网` tR7VZinsert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);51Testing软件测试网5g*a;z!t6f E8x
e hcIGu;Q(Ez[i0insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);51Testing软件测试网x$U+E:\K C:U2Axj+s w8iJ%T
51Testing软件测试网r;~/}np*a+j0O注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加 一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别 呢,只有等以后的文章再说了。(4)将YEAR设为日期字段。
q3qp9yk#j1R,e09G7SS&InXF},k0如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:51Testing软件测试网 m['Y4aq x q
51Testing软件测试网0~L1IA+D9v~mmysql -uroot -p密码 < c:\\school.sql
-e'j A s0Ky no6}5^o6xR0SM.N1a Qu0如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
af,t5w_/kH051Testing软件测试网O0RA sn$oQk四、将文本数据转到数据库中51Testing软件测试网K%l+\*q y2aV
51Testing软件测试网SCa6}"ZLG1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.51Testing软件测试网(Du;js2`J},s*B)V
51Testing软件测试网s UJ:Qu/YO例:
4l ME D+bGw,r:G}051Testing软件测试网t8Tr0[+geLl3 rose 深圳二中 1976-10-10
;ea8I[-x1x^+t0(C0tv(k0VcM04 mike 深圳一中 1975-12-2351Testing软件测试网{RJXhY
51Testing软件测试网M6}sN5u DNT~2、数据传入命令 load data local infile \"文件名\" into table 表名;
d5o ]1W0o9F9K:K051Testing软件测试网 V ]j^E!V8}"R?o w注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。
:_SH"yLx-W q0x2uqvO$W[0五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)51Testing软件测试网G&Y5}"@0}5b
mysqldump --opt school>school.bbb51Testing软件测试网8fTT/Ar8T J
x!O%M\CsQ0r*vM0注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
*m4O6x1eL,g wrmzi051Testing软件测试网x,nb X6c\'V@$["Enk)o~#Gc6VZ051Testing软件测试网L)s7LKS
mysql命令行常用命令51Testing软件测试网\C.Pt&cR+@
51Testing软件测试网 Hs)kZm;_第一招、mysql服务的启动和停止51Testing软件测试网ZXn1w3bX4\pc
net stop mysql
&}frE`0net start mysql51Testing软件测试网Nx ?-R/f7u a%X:c
第二招、登陆mysql
zv'Sig*Ro5n0语法如下: mysql -u用户名 -p用户密码51Testing软件测试网&[?aR7K-T B-JQ)L
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:51Testing软件测试网-@ v8Adb8{d
mysql>51Testing软件测试网mk5vW+K
U
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP51Testing软件测试网9dO'M2h{1W
第三招、增加新用户
G*J)h%qX G9^.R0格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"51Testing软件测试网nMLpOK$W,X"`8L
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:51Testing软件测试网T,v1I2Z+_l h
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";51Testing软件测试网-gvj9Ep4?P6T
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
] D)q8q*k Dp0如果你不想user1有密码,可以再打一个命令将密码去掉。
(n/G%A)a Q@2E~?(aq0grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
c!Ke0J"Sg0第四招: 操作数据库51Testing软件测试网,}-{n:UlFwV$q
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。51Testing软件测试网#z(K ^%h&xs|t7XV
1、 显示数据库列表。51Testing软件测试网8c@u0@MS
show databases;51Testing软件测试网%FC/BE hf
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。51Testing软件测试网,A9G}-V,byz%q
2、 显示库中的数据表:
BjXDVOy0use mysql;51Testing软件测试网z5f3v9At*M |_R.q
show tables;
0p MDr/?-z$]1B W[v03、 显示数据表的结构:
,F e;wC+dA0describe 表名;
]Ya]5Ru&{04、 建库与删库:
^r#L3Eh$o(w0create database 库名;
Q0g8a9j~v&Lb(K0drop database 库名;51Testing软件测试网b;hD8Tw'j
5、 建表:
m3Af7khpV0use 库名;
U#C4k{nv
zCG#p0create table 表名(字段列表);51Testing软件测试网5h(t"p&VhuK#t'^
drop table 表名;
:e3x0y1c*SiGS06、 清空表中记录:51Testing软件测试网)|/t-?%WBdQp
delete from 表名;
jk P#x;h~&H07、 显示表中的记录:
-X8ND G~p0select * from 表名;51Testing软件测试网6YMbo#q3O
第五招、导出和导入数据51Testing软件测试网f9~6^9VZ
]]
1. 导出数据:51Testing软件测试网"B?JJb@
mysqldump --opt test > mysql.test
]1N v(OJ%B4_:A^7y2z0即将数据库test数据库导出到mysql.test文件,后者是一个文本文件51Testing软件测试网7^j{*j6p3x5k Vy
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname51Testing软件测试网}WO#z/b&H
就是把数据库dbname导出到文件mysql.dbname中。51Testing软件测试网#Lf9b:W.U4|W
2. 导入数据:
8U$T5i3rI0mysqlimport -u root -p123456 < mysql.dbname。
w"v
|dwZX0不用解释了吧。
:hNv.ps03. 将文本数据导入数据库:51Testing软件测试网X!q:bF T zPQ
文本数据的字段数据之间用tab键隔开。51Testing软件测试网p~
wJh G
use test;
E-yV8NE\+e
{0load data local infile "文件名" into table 表名;51Testing软件测试网G1E
e0f"p?
/w4yu1avs-g:O0SQL常用命令使用方法:
"TR3p(m.H [LT051Testing软件测试网k:g`c(poK?(1) 数据记录筛选:51Testing软件测试网Sk4ufdV`
51Testing软件测试网2w-LwecwN:pXsql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"51Testing软件测试网:YV M'_4K.Q9[
)kf|Yw2|3|0sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
QS\7q ?sL0Nm MHzI~:k0sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
/h5?1n c Q|C3q5x4EF%`0(Q+}4[)LjGe8T M0sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"
|S;K)cx"L:s2oD051Testing软件测试网;g*n e-I$W$T^sql="select * from 数据表 where 字段名 between 值1 and 值2"51Testing软件测试网-@ L] Sf
51Testing软件测试网6}1XP-Daa'g2i(2) 更新数据记录:51Testing软件测试网Vh3W(\a(_
51Testing软件测试网R ^T#Q0Asql="update 数据表 set 字段名=字段值 where 条件表达式"51Testing软件测试网Cl Z y*B'_3q
51Testing软件测试网H!i%]2v"QA,BRsql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"51Testing软件测试网l I(e'w-T6j(bf\-S
51Testing软件测试网A~&U5c)oo(3) 删除数据记录:51Testing软件测试网i9p'n${ }
7y(Rv-d'{p*K m/F0sql="delete from 数据表 where 条件表达式"51Testing软件测试网g(N'H$`3Dyx
0j$wBVL(TvH0sql="delete from 数据表" (将数据表所有记录删除)51Testing软件测试网z J:pVP0Oq'zrr!}
51Testing软件测试网.T#g7gk-f#C(4) 添加数据记录:
%S5Tg'rP |0x s"tZv"N0dD(X0sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
AM*q8Y*A5R-I?qU051Testing软件测试网W4su `k+W5iVO.bsql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)51Testing软件测试网"~1cdl|%uy
51Testing软件测试网5jyH;HX8O(5) 数据记录统计函数:
sY&L]+E)~9B0Xj't~?~NH0AVG(字段名) 得出一个表格栏平均值51Testing软件测试网&I-]LRC
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计51Testing软件测试网6mB` IZk TA;|%z
MAX(字段名) 取得一个表格栏最大的值
C
F NSvI$XR0MIN(字段名) 取得一个表格栏最小的值
Nt~mvD*o0SUM(字段名) 把数据栏的值相加51Testing软件测试网-D y!`O%?
引用以上函数的方法:51Testing软件测试网S#i]jXF9D8]|
51Testing软件测试网 }wX#Eo?sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
0^Ma
{(NI8V?0set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
w y{I+t*m0J)HH%K'M0(6) 数据表的建立和删除:51Testing软件测试网y[3n/D2T
51Testing软件测试网l3k]n5M G$sCREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )51Testing软件测试网X"i:}9@!iE?
6dM8|9CD5o!{ J H0例:CREATE TABLE tab01(name varchar(50),datetime default now())
j@7S ?` }k051Testing软件测试网4o3W\0@vUj8ETIsMDROP TABLE 数据表名称 (永久性删除一个数据表)51Testing软件测试网4k.{ LP"q
TAG:
我的栏目
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | ||||||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 |
我的存档
数据统计
- 访问量: 197199
- 日志数: 283
- 书签数: 1
- 建立时间: 2007-04-23
- 更新时间: 2015-07-31