度过了一个冬眠,在春末夏初之际,补充自己的营养,努力学习,努力工作!

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 gF hL

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

`)@/j'] Af[M0

ORL4_8Y,a9~]U'DN;V02、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

5[9r!iR3GL0O6[.Th051Testing软件测试网g;gt k M7YR2}

mysql -h110.110.110.110 -uroot -pabcd123

F;iD\c |.x ^0

I*h$dU$O:L'hr6Y0(注:u与root可以不用加空格,其它也一样)

:} rag)p*qlk5gk051Testing软件测试网bf @LG|

3、退出MYSQL命令: exit (回车)51Testing软件测试网Al^7u*mA

4}Z @7b4q0二、修改密码。

(Y&wI9f}h0

DugmWA.u0格式:mysqladmin -u用户名 -p旧密码 password 新密码51Testing软件测试网@H:g/CLE

51Testing软件测试网XO&~M!Roi(B

1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令51Testing软件测试网%w)\1Y+\_WS6u#Q,V7q ?

|T,S8bD_0mysqladmin -uroot -password ab12

I4ETvc? p0U7|(`Q0

;m4MQ1Mo)s]4Y0注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。51Testing软件测试网B^W'V{0M(u(y

51Testing软件测试网F'u;p D`(ln

2、例2:再将root的密码改为djg345。

1T-f8aXa)Dy[t*} l051Testing软件测试网0^+A9f|+I

mysqladmin -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 XeOD051Testing软件测试网T|]3Y/@"Gj G}

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

PH'H1a7M051Testing软件测试网$^b]-pW&S#A Iv

grant 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 Q VG

:dda]+a.hu^9D0例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查 询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从 internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。

7Z`GU:Z.cq051Testing软件测试网 cJ6oa'H*h/y o

grant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\";

QB$K2m%uP~;CdF4i0

"}FltX!p4AUy.v ZP0如果你不想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 })X S&S"hh'@7O

MG#NK/h^7h:S01、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。51Testing软件测试网1b~6Z4dp3[9i9b g

51Testing软件测试网%RbB$^N/_U7t?1H7N

2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。51Testing软件测试网]ug3It7]*{'xx;zu

51Testing软件测试网!H(tH6A \y{V*M

二、显示命令51Testing软件测试网Y;ri EU!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,k

2、显示库中的数据表:

CR~"X:bK+k!U']051Testing软件测试网)H0M4~ KVK

use mysql; //打开库,学过FOXBASE的一定不会陌生吧

$L d"}Iwno h0

P&O}cTx#PV0show tables;

9_OG4el.Wy+CV051Testing软件测试网z0h&N Ev%v

3、显示数据表的结构:51Testing软件测试网IV8d h"s3W0[?

51Testing软件测试网ySZ3E Rc ^!A(P{Y

describe 表名;51Testing软件测试网OA \ Hk|JA2N)L@

51Testing软件测试网S/t3u x1}A

4、建库:

|;gZ!vC^ ?051Testing软件测试网0A ptn%G%[}/g3m

create database 库名;51Testing软件测试网"c9N8OXT ]0CW9v@

51Testing软件测试网Y;N-|/m8xfsS)\C

5、建表:

3oZ/X7M8{-DNB+V#bX051Testing软件测试网6N.u Ze\'q

use 库名;51Testing软件测试网(I!e!BC${Z

qo3v1eB8C#~0create table 表名 (字段设定列表);

I o2c+k/Z0

3p_"Y#]y-z06、删库和删表:

n3h`5YM;x I!q0

zvo5]Y j4R0drop database 库名;

%^"e1^/O_7oX3oW051Testing软件测试网 N j m5A'q3a

drop table 表名;51Testing软件测试网$f%d5P)q!u!{k

51Testing软件测试网5o0L Fg}W!i

7、将表中记录清空:51Testing软件测试网3aB5v1Z%g g ^ x y t

51Testing软件测试网$li [ \-B?

delete from 表名;

2@ nV s&K T!X0

+k _aXlX|'fg08、显示表中的记录:

8ZhfFN4[S'du051Testing软件测试网9L0]I i:wB6P

select * from 表名;51Testing软件测试网M m*Ioz(~7Pb4Q#K

]2F w]H4Y8`7P5p0三、一个建库和建表以及插入数据的实例51Testing软件测试网;t%s3\{PmE(PC

51Testing软件测试网D U)X:Rj o(L,Y

drop database if exists school; //如果存在SCHOOL则删除

3M;c(QE$WXqP051Testing软件测试网4c m'RvZ#cF

create database school; //建立库SCHOOL

2T,Ie2\ i051Testing软件测试网gT"M F9nl V-i

use school; //打开库SCHOOL

)cs3[4b2m1L5y6F0

j!I;o*m:K3?a@0create table teacher //建立表TEACHER51Testing软件测试网y:I GO|H R M(p

51Testing软件测试网,o? S Xv%u8u%Z

(51Testing软件测试网 R3q fGM

51Testing软件测试网 o}V,HZ"qm

id int(3) auto_increment not null primary key,

0h"`+^le)} VT L051Testing软件测试网$F-V D;^FRC3k

name char(10) not null,

XQK4Kj$g`051Testing软件测试网5|'pj2i ],W1^

address varchar(50) default ’深圳’,51Testing软件测试网8Vq9_%W,}*W,Y+[&yC;{

'[|QsB y:{0year date

0^QR(?7Mg1?0

p*bX+e0{iE0); //建表结束51Testing软件测试网y2S)vA [?-k E$MR

51Testing软件测试网a:m%n&~N"q"g

//以下为插入字段

y$^N~w b051Testing软件测试网 ` tR7VZ

insert 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:\KC: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,e0

9G7SS&InXF},k0如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:51Testing软件测试网 m['Y4aq x q

51Testing软件测试网0~ L1IA+D9v~m

mysql -uroot -p密码 < c:\\school.sql

-e'j A s0Ky no6}5^o6xR0

SM.N1aQu0如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。

af,t5w_/kH051Testing软件测试网O0RA sn$oQk

四、将文本数据转到数据库中51Testing软件测试网K%l+\*q y2aV

51Testing软件测试网SCa6}"ZLG

1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.51Testing软件测试网(D u;js2`J },s*B)V

51Testing软件测试网sUJ:Qu/YO

例:

4l ME D+bGw,r:G}051Testing软件测试网t8Tr0[+geLl

3 rose 深圳二中 1976-10-10

;ea8I[-x1x^+t0

(C0tv(k0Vc M04 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 q0

x2u qvO$W[0五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)51Testing软件测试网G&Y5}"@0}5b
mysqldump --opt school>school.bbb
51Testing软件测试网8fTT/Ar8TJ

x!O%M\CsQ0r*vM0注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。

*m4O6x1eL,g wrmzi051Testing软件测试网x,nb X6c\'V@$["En

 

k)o~#Gc6VZ051Testing软件测试网L)s7LKS

mysql命令行常用命令51Testing软件测试网\C.Pt&cR+@

51Testing软件测试网 Hs)kZm;_

第一招、mysql服务的启动和停止51Testing软件测试网ZXn1w3bX4\p c
net stop mysql
&}frE`0net start mysql51Testing软件测试网Nx?-R/f7ua%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+_lh
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";51Testing软件测试网-gvj9Ep4?P6T
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
] D)q8q*k D p0如果你不想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、 显示数据表的结构:
,Fe;wC+dA0describe 表名;
]Ya]5Ru&{04、 建库与删库:
^r#L3E h$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、 显示表中的记录:
-X8NDG~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{*j6p3x5kVy
如: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:bFTz PQ
文本数据的字段数据之间用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:pX

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"51Testing软件测试网:YVM'_4K.Q9[

)kf |Yw2|3|0sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"

QS\7q ?sL0

Nm MHz I~: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#Q0A

sql="update 数据表 set 字段名=字段值 where 条件表达式"51Testing软件测试网Cl Z y*B'_3q

51Testing软件测试网H!i%]2v"Q A,BR

sql="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*Km/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 |0

x s"tZv"N0dD(X0sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"

AM*q8Y*A5R-I?q U051Testing软件测试网W4su`k+W5i VO.b

sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)51Testing软件测试网"~1cdl|%uy

51Testing软件测试网5jyH;HX8O

(5) 数据记录统计函数:

sY&L]+E)~9B0

Xj't~?~ NH0AVG(字段名) 得出一个表格栏平均值51Testing软件测试网&I-]LRC
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计51Testing软件测试网6mB` IZk TA;|%z
MAX(字段名) 取得一个表格栏最大的值
C FNSvI$XR0MIN(字段名) 取得一个表格栏最小的值
N t~mvD*o0SUM(字段名) 把数据栏的值相加
51Testing软件测试网-Dy!`O%?

51Testing软件测试网 `"K-}i~[8h;X0z

引用以上函数的方法:51Testing软件测试网 S#i] jXF9D8]|

51Testing软件测试网}wX#Eo?

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
0^Ma {(NI8V?0set rs=conn.excute(sql)

en7EdZ6R!Y]!kwk051Testing软件测试网)eYlm)b/l.V2ye+X

用 rs("别名") 获取统的计值,其它函数运用同上。

w y{I+t*m0

J)HH%K'M0(6) 数据表的建立和删除:51Testing软件测试网y[3n/D2T

51Testing软件测试网l3k]n5M G$s

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )51Testing软件测试网X"i:}9@!i E?

6dM8|9CD5o!{ J H0例:CREATE TABLE tab01(name varchar(50),datetime default now())

j@7S?` }k051Testing软件测试网4o3W \0@vUj8ETIsM

DROP TABLE 数据表名称 (永久性删除一个数据表)51Testing软件测试网4k.{ LP"q


TAG:

 

评分:0

我来说两句

Open Toolbar