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

MySQL 命令大全 - 命令详解

上一篇 / 下一篇  2012-06-25 14:16:48 / 个人分类:测试相关

51Testing软件测试网7D4GN0]e1\ I'W p-^

一、连接MYSQL。

nn(}R3j z4nF R$X-l051Testing软件测试网&x C;Xu/n%d

格式: mysql -h主机地址 -u用户名 -p用户密码51Testing软件测试网Z2G;b,_8ZF3Y-?rD

51Testing软件测试网Q-w/]A){ga)K

1、例1:连接到本机上的MYSQL。51Testing软件测试网8Q!e1b;Dnx v;INP

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

g9p+Daz.B HG0

c+kC-@?3m6i8t02、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

P8MG"K gp0

_/L3?7T)A%j6p0mysql -h110.110.110.110 -uroot -pabcd12351Testing软件测试网i PAc2JE

51Testing软件测试网,q5c L:p [.i(T~f

(注:u与root可以不用加空格,其它也一样)

?8q x}E-z:i%jb051Testing软件测试网bE!m9Ul7f/y/u

3、退出MYSQL命令: exit (回车)

?N'B3C p-CC2@8u0

+j8a5w1Dtc"c6\0二、修改密码。

w:^,FU Tn1y/MT051Testing软件测试网S[)q~#M

格式:mysqladmin -u用户名 -p旧密码 password 新密码51Testing软件测试网s%["Cdyz8llv N

51Testing软件测试网:o M'G9AdBu

1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令

5gQ2MOM0

+J,yzcA7?z0mysqladmin -uroot -password ab12

A+tg3L [051Testing软件测试网p2rGhR3Vp

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

}*w Z![h/v`x(F7F3Q6k4W0

VQ0Xi~p U0?m02、例2:再将root的密码改为djg345。

7ncfRKm0

%K*i,@W@L0mysqladmin -uroot -pab12 password djg345

d/Y.S:o`\"k0N9P;T0

Tc%cF-A#j:Y_0三、增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)51Testing软件测试网:\0LMotouw

51Testing软件测试网%@DRgZhA(@

格式:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"

5h{'d"R Y r U0

SQFO"]7E~0例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:51Testing软件测试网!C#e&zpDci"We

8k~5O5n-FHs#i7g(bp0grant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\";

'q4n9N|BVXg4L051Testing软件测试网P+_yl+k,WL

但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。

&rMi$k}kwX D!g"L0

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

&@_$oQ dXp0

^2] C\2?,I.P%[0grant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\";

?,oi.V*C0

h sm`ip)I C0如果你不想test2有密码,可以再打一个命令将密码消掉。51Testing软件测试网+}B e9OE4WV+Qv

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

5J? g}2N7U&}3m051Testing软件测试网 h!@"DUn

在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。

A$~g|:X3ov!zq x0

.C0]WreA0IG N0一、操作技巧

k&V0N_T:Ez0

4yI,@,C,H:j/LZ01、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。51Testing软件测试网 b6GTUB]C

,g4A"l)cKD*v@Z02、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。51Testing软件测试网G0Y/oWB"tC4s

!UmG a c3i0二、显示命令51Testing软件测试网4B/~mN8xfbm5t

51Testing软件测试网9q-A\*L{%k

1、显示数据库列表。51Testing软件测试网g*e p+Q],o

51Testing软件测试网;R5~ z0P`2[,Kp*Q8X

show databases;51Testing软件测试网1GgZC&K

c4Un%E:X }%D6h$f6P0刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。51Testing软件测试网!}8fVx$QQ

e1Uh;dN9G+I6L-f02、显示库中的数据表:

3m&}]b5K&`*h)M7vA0

Qp8v]GF0B8e8P.v;b0use mysql; //打开库,学过FOXBASE的一定不会陌生吧

BYo;V)F|"L4s9Y051Testing软件测试网od,y?,B

show tables;51Testing软件测试网y&JyD-YX!w1sI

51Testing软件测试网4C i @r9R

3、显示数据表的结构:

?y)P-k(yJ/I.ue0

"f7qNZm/d)lY${;?[0describe 表名;51Testing软件测试网6u4RQz+{

5aw!X%lP5ZV+nB~:Yr04、建库:51Testing软件测试网gF/K4]%v

51Testing软件测试网Q5S,S/B_LT_

create database 库名;51Testing软件测试网,[iDvM [ u"X

.q"V-pno;XW05、建表:

&o%x#P:o9G&]051Testing软件测试网9J ]'o nB

use 库名;51Testing软件测试网{oN9yc-s5k

/{ws%d#?H:O4}8J0create table 表名 (字段设定列表);51Testing软件测试网@#j"e8uEZd

&v#x'}R*M06、删库和删表:51Testing软件测试网.CjO8EG2_u

zp\0CE0drop database 库名;51Testing软件测试网\*\3} q3k)[8u1?

g)@``-N3d#`u t(\0drop table 表名;51Testing软件测试网(DS:iUUo

51Testing软件测试网2m s$cQB WA;z1?.H\G

7、将表中记录清空:

N(r)fv!Vd0

5[-j5Q'mL,d,O0delete from 表名;

.Y U,ZJ_/TF*_051Testing软件测试网(I;p![%RF)P#?2I/e1x

8、显示表中的记录:

OSU ku] @+L+?0

#S3[RE&gEW0select * from 表名;51Testing软件测试网.k"Z+I+\i;_

CN;syT9gxj6f0三、一个建库和建表以及插入数据的实例

0t3Rp`bU[4l051Testing软件测试网:a%fLY4~(S2LN+Rs!t

drop database if exists school; //如果存在SCHOOL则删除51Testing软件测试网VX |v8ofy_U

\ _*J"J6Un3x8r&@t0create database school; //建立库SCHOOL

QGRb wF7R6{0

;W3W1o3Mg0use school; //打开库SCHOOL51Testing软件测试网1oE-W0w sknyZH

8{b]_ktCX0create table teacher //建立表TEACHER51Testing软件测试网N^T(mIIp

51Testing软件测试网I/\e0hy0P

(51Testing软件测试网:]:_n z0J0k

Q BFxl)^3J0id int(3) auto_increment not null primary key,

$M"SGv_V(P:yG0

$fET/xH0name char(10) not null,

6Fq"A }{6L0iI:{051Testing软件测试网9h v1O];c)D3A O@&X

address varchar(50) default ’深圳’,

%F(bz&T/u0

wg/{ @L;eAtW0year date51Testing软件测试网Cf N9s9_Zb5v{dO

cb6QB*ZG5L S0); //建表结束

Sve&q,{4Q6BU&`Wa051Testing软件测试网/f$NMf!qP-JB

//以下为插入字段51Testing软件测试网SFV,mBU

#?cK1o7CW0insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);51Testing软件测试网"nB/p0j3Hl}9k

F0Z.H f e+rr)K0insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);51Testing软件测试网 ?[mJ7ml_S

1I(P/`/H+@'G ?0注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加 一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别 呢,只有等以后的文章再说了。(4)将YEAR设为日期字段。

+e#z:X#D*h*I8t0

O |B|"a0如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:

F YL!@7}GD9xh,?0

3ET)R ` H$eS0mysql -uroot -p密码 < c:\\school.sql51Testing软件测试网J0\;D:b Z N

51Testing软件测试网$Y"eN5\Hfq7c

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

b:G)q-K0GR E9Kk051Testing软件测试网~7F qTn\A&j

四、将文本数据转到数据库中

jF RZj~%@(SkS051Testing软件测试网$Ow+AP_#W'u)y.b

1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.51Testing软件测试网4dnP5`c2l|.DEh

51Testing软件测试网~YnC!Z o*m

例:

m'I[Q%y Sx}051Testing软件测试网Oy o"vx\

3 rose 深圳二中 1976-10-1051Testing软件测试网%yU%q3j6g/i~Q

7OC!Ae&q%r#tJ.e0rdy04 mike 深圳一中 1975-12-2351Testing软件测试网[o%f*L]+hxP[ z

51Testing软件测试网 q*l;I'C.F`,WQ&G o

2、数据传入命令 load data local infile \"文件名\" into table 表名;

:MLBC/E,gX0

$z%Y'gmm0注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。51Testing软件测试网@c3T(xNc

.J-V$ZX&Og/v0五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)
sZ y/q-jm1e:x-sHs0mysqldump --opt school>school.bbb

2w7])ND{s)t3@051Testing软件测试网e"@u#QOvf

注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。

~ _8k ` M3Sht2vL@051Testing软件测试网]6C[3{0H

 51Testing软件测试网+@^ d_SZ2m

51Testing软件测试网Zdu*H x

mysql命令行常用命令

6k/IZ4n'|4N0

)Z3@B5Rq`'L.l0第一招、mysql服务的启动和停止
{ @-fd:[9A9Qw0net stop mysql
a A.i:~aEW0net start mysql51Testing软件测试网 R/sH5{)R#t Sb|z
第二招、登陆mysql51Testing软件测试网y)cB)u9Mt%]6y
语法如下: mysql -u用户名 -p用户密码51Testing软件测试网5S c9k'}4Ug
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
N4a)gK;U0mysql>
S$j HW2P NO m o0注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
1} G%} [?n6Px WS5|0第三招、增加新用户
T{/eL*i2B5|8yCZ0格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"51Testing软件测试网|!W-m8_1^"Scj ^G!u
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:51Testing软件测试网3ghU(g6r.OV)u8] {
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";51Testing软件测试网({:\Y#_%hI
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
"q-M2o*]*R'E["U0如果你不想user1有密码,可以再打一个命令将密码去掉。
"c,O\MT3l.{0grant select,insert,update,delete on mydb.* to user1@localhost identified by "";51Testing软件测试网 mz]_kmUo
第四招: 操作数据库51Testing软件测试网M$a'~ B&w Mpfz0p2Oq1a
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
p ~eq~N)o01、 显示数据库列表。51Testing软件测试网 G/^t"Ip:_
show databases;51Testing软件测试网4aZw)IP5Fo*@
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。51Testing软件测试网c.T L^f2[?
2、 显示库中的数据表:51Testing软件测试网l_!xtad
use mysql;51Testing软件测试网*qd*j5?"~ hU
show tables;51Testing软件测试网 @/G-Yi!LR)I!C R
3、 显示数据表的结构:51Testing软件测试网G*Byf5aNY!|O
describe 表名;
i%C,Y2Hx Y _*m.^04、 建库与删库:51Testing软件测试网 E6j/Z3Ij
create database 库名;51Testing软件测试网3Y6q&O&I+j)Xk^
drop database 库名;
R,u2N0W:QC&Y6iyq&F05、 建表:
n+j$A[6T9^0use 库名;51Testing软件测试网rj1Z8B E|1^:f.D7d}g
create table 表名(字段列表);51Testing软件测试网Nkmk}H
drop table 表名;
R q"LAH8h06、 清空表中记录:51Testing软件测试网!D;| xu#`
delete from 表名;51Testing软件测试网#LF _p.d8j*U_
7、 显示表中的记录:51Testing软件测试网.WVU} ?q
select * from 表名;
rN\"]3d;F.E0第五招、导出和导入数据
;i5c7TIe6b i01. 导出数据:51Testing软件测试网j2W7T&N1gn
mysqldump --opt test > mysql.test51Testing软件测试网 ?){uY\'Z@ Q
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
!pn)|}-hV#n0如:mysqldump -u root -p123456 --databases dbname > mysql.dbname51Testing软件测试网^6i4s,tdgc7n
就是把数据库dbname导出到文件mysql.dbname中。51Testing软件测试网2^iBFb
2. 导入数据:51Testing软件测试网/u?"Q(C Z-r8X0qc;p
mysqlimport -u root -p123456 < mysql.dbname。51Testing软件测试网F"j Gb6zS2e-g
不用解释了吧。51Testing软件测试网i*P9[ZYk'v5u
3. 将文本数据导入数据库:51Testing软件测试网 YX!B J@`} [6{'C
文本数据的字段数据之间用tab键隔开。
M |0G9ay cx!H0use test;
X"F.|#h'h!~q0load data local infile "文件名" into table 表名;
51Testing软件测试网X.@Yx6HD.XM&T2Hn

51Testing软件测试网%v%Zu"pT(MK]/] z

SQL常用命令使用方法:51Testing软件测试网2CD o'z c9\`a

a_9UZQ7d0(1) 数据记录筛选:

~TA+a*A;~Vq.v051Testing软件测试网{9ssOsZz

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

'o;e2m#I#_Z9^5w}0

T H E%n'P)D1g0sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"51Testing软件测试网I0k[;ura&Z

51Testing软件测试网_.j"c.g\3j\*i

sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"51Testing软件测试网8v!xap.O$_y"~

51Testing软件测试网G4U nKc$U V'W6r

sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"51Testing软件测试网&KXsCz0Hl4Le ^

51Testing软件测试网 S d2D(Lo V!C

sql="select * from 数据表 where 字段名 between 值1 and 值2"

&v i1m[9`0

o_ J"P0X:Nz_s0(2) 更新数据记录:

LxR Fx0

,CRb+XmBq_9J0sql="update 数据表 set 字段名=字段值 where 条件表达式"

(_*H%u#xffdAE*j0

8OG4{QX4N8R0sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"51Testing软件测试网1Wo\K@

51Testing软件测试网W-M5J6^#yQ+f0Q

(3) 删除数据记录:51Testing软件测试网6E-e,M Mo\/[ B

51Testing软件测试网 o#ey3ai

sql="delete from 数据表 where 条件表达式"51Testing软件测试网1s$UE2vum,L6Y

n!c5k }!z0sql="delete from 数据表" (将数据表所有记录删除)

#@'wkJ@i#F0

!D~$_p4KeM1D0(4) 添加数据记录:

6J o`K:HY"{ C0

OQAKyYW0sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"51Testing软件测试网b0v2bx#Q'O([XP%nL

0e8YCg ~C N0sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)

C5d~+CS'I ~0

2l:?*k#oPg6cH0(5) 数据记录统计函数:51Testing软件测试网6oF,FRt{G oM

51Testing软件测试网0t.\;nD4n.?a

AVG(字段名) 得出一个表格栏平均值
6f.^L.em S&Q0COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
i z{\`0by|@ u0MAX(字段名) 取得一个表格栏最大的值
["VWG'P;J }n0MIN(字段名) 取得一个表格栏最小的值
u\4\*K*W6coB0SUM(字段名) 把数据栏的值相加

t:a s_4S @ k0

EH ]q7zLF.]ev8^0引用以上函数的方法:51Testing软件测试网m m7O{(GPq r

51Testing软件测试网4e+c4|;i)Rr3`Px

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
A U-|u6X,bM;Y0set rs=conn.excute(sql)
51Testing软件测试网F)O.rDF]

51Testing软件测试网1b|dKp&c6{,d

用 rs("别名") 获取统的计值,其它函数运用同上。51Testing软件测试网"O QT*EqV6^

51Testing软件测试网5b+| o*{Hw)`9u5~$?-f

(6) 数据表的建立和删除:51Testing软件测试网FF8~A+N2CX,D Tw

,O%QVVfB0CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )51Testing软件测试网KZ8{5`7pv9W

,k-p1j;y{a6J{)hA0例:CREATE TABLE tab01(name varchar(50),datetime default now())

"qe{})P ^5DM%X3j0

sS;n/{2eS3`0DROP TABLE 数据表名称 (永久性删除一个数据表)51Testing软件测试网 j8z#jf'J!ff.B


TAG:

 

评分:0

我来说两句

Open Toolbar