常用MySQL的命令集锦 [转载]
是我从别的地方黏贴过来的,给和我一样的新人共同学习!5 u) v" d& a$ C* U
6 X4 ]) M2 K: k
5 m3 T8 w. w1 }; E2 N& S7 W
一、连接MySQL N+ j2 t1 y$ K- Z( b( w9 Z2 n
2 b: _2 Q, R& Z# w9 d$ O
格式: mysql -h主机地址 -u用户名 -p用户密码7 X9 B. _# g' ^" n
1 F# i6 T& @) {5 R
1、例1:连接到本机上的MYSQL。 U! u( y* J; j( H
- A2 n/ v) p; E! W, y. g
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>。
; Y1 A; t" P2 q, i C2 X! h6 Y: W% k9 _! j$ z' a
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
( B9 e. X7 Z# q7 b `8 ~* H# r* f( t# \6 d: n
mysql -h110.110.110.110 -uroot -pabcd1236 x$ c% {9 q2 s; |- @; ~ d6 g$ K
. I$ g- v7 v; D- R
(注:u与root可以不用加空格,其它也一样)
5 ?4 o$ W6 v5 B5 T/ Q4 \ X7 e) B) Z
3、退出MYSQL命令: exit (回车)。3 L$ |1 q( @4 l; p
+ v4 J" [! G& M( ?/ m 二、修改密码! C ~0 @ p7 d, R1 Z. ^! @
8 `& c# M( Q. w+ q) w6 a1 g
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1 }/ K. N0 s: u! J3 P" g3 ?
+ M$ {4 {$ ]6 |; Q& K6 j$ D 1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令:
2 M/ b1 c' X8 S7 s* k2 I% t5 j/ w; i8 v5 q& X- Z# Q, _' e2 r; J
mysqladmin -uroot -password ab12
Z4 C* c& O" y R$ H2 w4 `$ i* K' X! P: v: Q+ H) n& b- S
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
. B, ?( W: @! G2 W5 O$ r }1 {6 Q* ?6 {( Y: R( Z* p
2、例2:再将root的密码改为djg345。% X, J8 v8 g& k# G1 c
$ }+ i ]$ A. @1 Y! S$ L- F: w
mysqladmin -uroot -pab12 password djg345, b9 y2 O" v7 c4 K1 \. c" {2 `
% A3 l& v& Z# S- V0 v( w 三、增加新用户。(注意:和上面不同,下面的因为是MySQL环境中的命令,所以后面都带一个分号作为命令结束符)" B7 L6 G8 j6 r( J& n4 `' c2 ]& x0 l
# b- k+ \- e7 Z$ ` f8 G! l
格式:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
' x: f5 z' a6 F* i- n( o) E$ k: R# U3 N
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
$ x) R- E# Y: q L7 i R# M
1 f3 n8 p& ^( t3 r- R0 c% V grant select,insert,update,1 ?, l" {, G" o# e( `2 ]
delete on *.* to test1@\"%\" Identified by \"abc\";2 ^; s& p: X4 i1 E; P: w4 }% v
; G5 X8 C; U( l% b3 @. I$ u 但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了,解决办法见例2。
* m0 f5 Y& M/ ^! B4 d3 @3 i: t# i, n/ B" L _- x. C
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MySQL主机上的web页来访问。% W) q8 ^. d- s x, m
" ^; ]9 t- \: l: t grant select,insert,update,7 q2 G+ b( I$ @* N& e+ P! n# @1 }
delete on mydb.* to test2@localhost identified by \"abc\";) _6 `* H8 t1 v2 m Q+ J) V @
4 }$ D, y; j1 \, @0 M 如果你不想test2有密码,可以再打一个命令将密码消掉。) i: o6 z& ^0 F- }0 M! T6 z5 x
1 G# ?5 N7 ~2 x+ e
grant select,insert,update,delete on mydb
2 ~0 j* b# ]2 K8 e/ E$ l .* to test2@localhost identified by \"\";" d7 r: D% H4 G0 L- E
6 L6 w4 ?3 c w
在上面讲了登录、增加用户、密码更改等问题。下面我们来看看MySQL中有关数据库方面的操作。注意:你必须首先登录到MySQL中,以下操作都是在MySQL的提示符下进行的,而且每个命令以分号结束。5 \( w/ v) @; @. Y
6 l7 H: {& [" ?+ `4 L 一、操作技巧1 P9 P0 U: L) N
3 `1 q W ~* X. x8 i; Z
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就完成。
7 W0 T" ^5 J0 V0 s( h, T( a2 B# Y- Q
+ S. i; \4 D' t9 R ~( s( q- v( l) E 2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MySQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。) r. q: p/ {6 K/ z$ S. r
: O# I, x2 ]- z/ u3 @; f' e2 M) N 二、显示命令: L/ `6 d8 ]2 ]) C2 V
" s0 A. ]9 V' H9 v% y9 x- `) J+ |
1、显示数据库列表:: c( L3 o$ l" N5 N
* v' B9 v/ K+ {) j1 n2 O& A1 [! X8 ~
show databases;
3 R. ~/ M. r: _. y/ X
" h3 k% r. P' ]' R5 O* a% d3 @ 刚开始时才两个数据库:mysql和test。MySQL库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。$ `9 D9 X& q1 ^ q- W
9 T' c$ ]; [+ ~9 L) q
2、显示库中的数据表:
) E" n( {4 u1 G2 e- t1 N* |/ o1 G1 B2 a& S0 \
use mysql; //打开库,学过FOXBASE的一定不会陌生吧5 R2 l( [# N% _3 e" b k0 v
6 c. w9 e3 M0 [+ B
show tables;( b$ A$ V* |1 y! g7 `
5 e% r: ]$ P( y; |, }, b 3、显示数据表的结构:* C$ y; u6 B4 F; J
' `' k4 u1 b4 r2 q' l: T
describe 表名;
; Z$ C4 i/ z$ m! Q }% Y/ O( b6 p: P% h3 B
4、建库:
2 l* Z, Z" ], V
; G ]: O9 E# I/ q create database 库名;
. ]- n! k" B y- W; u( |1 T( T3 Z. i4 ?
5、建表:$ ?, J" J, p0 E1 G7 K
; V X. O# K v, `% ~+ G6 F
use 库名;
; c2 H+ X: F) D: ~5 |0 \! E2 F9 q, q- ^3 C5 T" ^: L
create table 表名 (字段设定列表);
U, N$ A1 o8 }2 |/ L1 a. v7 H4 }& {# b% i: g8 i4 ] I0 u8 c! ~& h7 q
6、删库和删表:
4 b* |1 N r8 _8 @9 i4 D$ w; F" r- O, i/ K0 R) N4 N2 ^
drop database 库名;
: o9 l$ }' f' V* L8 ]3 K; }2 J6 v3 G* r9 y0 d
drop table 表名;
1 f. u# \) N. _" i: E
% `" X! e; s; K4 B 7、将表中记录清空:
" Q- G! v) n+ y& u2 i( |0 G% f! b9 ~- r8 M: z- G& }
delete from 表名; w3 F- e ~# Q$ N3 Y$ k) |' A
9 i* |# i) |- ]( a, b" G 8、显示表中的记录:; S# I, c* Z( K! n& n v% t& }
& d1 A* t9 S8 w7 x/ X3 d select * from 表名;- p* Y6 C8 t" ]$ v) ^7 l/ e: k& \
# _7 Y: p) P! J 三、一个建库和建表以及插入数据的实例
+ ?3 r. H2 S6 m) x* M. C7 F
2 m, R. q, S$ Y/ \; o drop database if exists school; //如果存在SCHOOL则删除+ W5 ?& z- I; ^( j5 s+ q
- I0 _# |+ a) C
create database school; //建立库SCHOOL7 x8 r" _* P& L9 [; P
( S. m! K5 @3 g% l' g/ O. [ use school; //打开库SCHOOL( T+ w, U d& M, v+ q
/ B, C5 s- r; ]( ]( X
create table teacher //建立表TEACHER
- \ O, X9 _- \; V. n
( s& _( X* |( m3 U$ k (7 q# o3 f6 p. |* y/ M
* `. o# c) E1 `$ j id int(3) auto_increment not null primary key,
% F: d: Q5 g: L3 G5 U/ y y2 o$ j
1 B- h+ A6 o: b' I" y name char(10) not null,
% ~$ ~' n; D6 v( M' \
- r8 G8 m% ^! ]4 a% T& j address varchar(50) default ’深圳’,
8 |. E& y9 A! D4 a$ B: d7 X V$ [$ z! O
year date
\( A+ a- G3 O, t! P- x: I( ?6 P- |
); //建表结束 v) Y7 `: m+ R
4 P/ ^0 g# F3 f* M2 _# N //以下为插入字段
% N, Y$ o) D; |' [: b- q
, ^3 u& b3 t/ ?, q- V: _1 ^ insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);
" U/ I$ e+ B* @; ~2 d/ v5 X, A8 ?/ z
insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);0 f# }0 ]8 a2 D
- H8 `: J7 x# P& s. S
注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别 呢,只有等以后的文章再说了。(4)将YEAR设为日期字段。
# y6 F# x2 `9 G) @+ E
. M7 M, j% ~$ o {+ {6 Y6 ~! z 如果你在MySQL提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:
. ~ D( Z5 S' G2 }
' }# \1 s- T' R6 a" C3 O mysql -uroot -p密码 < c:\\school.sql
) ]; Z# c2 B9 h* z; r5 G$ i$ p: a/ q! A) k2 g/ k1 \% e
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
& a3 t! _; b. P2 Q
' ?$ b+ q; l' n8 d 四、将文本数据转到数据库中2 v: _9 i4 d% s3 C1 ]+ }* c( `& J- }
* w3 h0 B. m# ^& U" _ 1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替。
5 A6 T$ D( K3 k0 V6 U% G
/ ^8 Q# x9 G2 C6 `2 }2 ~ 例:( w* k! x9 s' ^6 R9 Z
4 `; k$ m" h) j+ a 3 rose 深圳二中 1976-10-10/ s$ U0 h' m0 b7 p, n
7 ~9 _& B; w( N9 K! t 4 mike 深圳一中 1975-12-23+ |5 q$ K6 V- r3 |9 D/ n
" [: m* ?% Y( a7 N+ w2 G 2、数据传入命令 load data local infile \"文件名\" into table 表名。4 h8 f; U5 W' O1 e$ M; E8 [, N
7 j# y" }( ]2 r) Z- Z* k1 N& y9 D
注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。$ I2 c$ ^, w3 _$ x4 h6 R+ r
$ x4 Z+ t( r; r 五、备份数据库:( F5 T1 t8 M' U% o
1 H: A( J" o$ O5 q1 |* y
1、mysqldump --opt school>school.bbb( {! p9 S [( s5 b" j
# i& E0 W: [ F/ r& O6 l6 O3 P6 @1 Z X mysqldump --opt school>school.bbb8 C4 V, o9 M3 Z0 I
(命令在DOS的\\mysql\\bin目录下执行). D8 d; y0 W4 j* Y# I9 T- T5 D
9 I z/ r: \+ U! V$ q; o, X& }$ ~
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。4 _1 s N: R( _' Z
: h% r4 a9 ?4 P9 `2 r) m' U3 H
后记:其实MySQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了, 呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象\"PHP4中文手 册\"那样是chm的格式,在查找函数命令的时候不太方便。" }2 Q+ P" T4 C* n8 P
/ p+ K# `, i3 ~: \) D6 ]
2、修改登录密码
5 n6 W2 C4 m6 ~+ V8 J3 I1 x$ s
1 C$ N# U" G% T* N 1) mysqladmin -u用户名 -p旧密码 password 新密码:
! k1 F7 X$ q% K8 I4 s- s8 c! W7 a5 t$ n( b e
例:mysqladmin -u root password 21century
C0 X$ l. l$ f, \, e) k8 g
- `. S3 r: s8 f6 ?2 F% z- s* j z 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。1 j* ^1 X4 A) W
T% L8 C- j4 e5 C( D 2)直接修改user表的root用户口令:( I: A: G$ h& R
+ z6 B4 J0 @/ Z4 P0 H" E7 n mysql> user mysql;
7 Y- v" E3 G. h2 K/ H mysql> update user set pasword=password('21century') where user='root';
+ |6 Y* v3 d) O* i- U mysql> flush privileges;
! U7 W, f2 v# t0 L7 {6 s# j# D+ x7 K$ J) C( s2 M3 Y
注:flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令。' n0 R, B9 ~, ]4 j' K
D2 D0 {, V$ r: n 3、测试密码是否修改成功:
4 {; F' h1 n5 D( G$ R3 R
1 g4 X$ e: F) N; a3 b" Q6 Y% j 1)不用密码登录:
" v) B" u6 ]( E( p# D7 g- w- A9 O2 O- _3 D
[root@test1 local]# mysql5 @2 m8 ]6 v# W0 P
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)5 e; P* x( D# H& G; c$ }) ~4 G
" @3 [3 H5 F9 r7 i( Y9 `/ t8 a
显示错误,说明密码已经修改。
7 G/ x$ F2 w+ j' ]8 z$ g* `3 L# T9 w- w, T' W/ x0 z
2)用修改后的密码登录:5 [- ^0 Q4 }% U, v
/ a$ f. c1 F$ `: m( @ } [root@test1 local]# mysql -u root -p
+ p! S5 Y9 l! O4 q; _4 y Enter password: (输入修改后的密码21century)
! ]3 D6 }8 [, ]7 J# K) z2 H Welcome to the MySQL monitor. Commands end with ; or \g.$ E& T9 h1 q( V5 k! W2 |5 f
Your MySQL connection id is 177 to server version: 3.23.48
' n/ n( u: X6 }7 M Type 'help;' or '\h' for help. Type '\c' to clear the buffer., h/ o$ ~) p) c0 s2 U8 E
mysql>" N9 ?/ r+ i+ H
% |& s* j' y/ a# e' ~4 q 成功!
" L# ]9 w& K$ i2 F: R W
2 u# T2 x; w" D0 U6 C 这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。$ T1 @# M; r4 x+ [4 T# z( G
! k; [3 f9 s8 C5 `5 W$ j 4、启动和停止:# `0 o+ @! `6 ?8 _; h+ Q# a
6 f# X1 j; N# I6 D) S- o 启动:Mysql从3.23.15版本开始作了改动,默认安装后服务要用MySQL用户来启动,不允许root用户启动。
/ n! O& F! r5 R2 M; D3 ? Y
! U7 T+ A$ ]* c 如果非要用root用户来启动,必须加上--user=root参数(./safe_mysqld --user=root &)停止:mysqladmin -u root -p shutdown。9 v9 ]# @/ O U$ w) C. F+ m
; ~% ?$ M2 Y* q3 l; v: M" D
5、导出meeting数据库:
9 l# o/ F# a; ~6 h4 w- |
' l: q( k: o6 I2 g5 w mysqldump -uroot -p21century meeting > db_meeting.sql
- m5 z; h% A4 o0 L5 k: W
) b, \1 Q6 z/ [7 R 导人dbname数据库:" t. `4 u) ?( v
/ j0 |+ N u: b! j( y1 i
mysqldump -uroot -p21century dbname < xxx.sql! I; u. \ W9 x' R/ T" S+ z
# _/ O8 k5 K0 W3 n 导入数据库还可用类似于oracle中@my_script.sql的方式一次执行大量sql语句,这在使用mysqldump不起作用时非常有用。* O* P6 E* \3 D9 Z6 J3 j6 ?( B
6 s4 j/ E6 @/ _9 F+ k 例:#./mysql -uroot -p < /home/xuys/db_meeting_2003.sql7 o5 s+ m2 k# X9 e- l: B5 C
0 O: i; \. ~& G. G (注:create database、use databasename、create table和insert into语句都可写在上面的脚步文件中)
$ f. T2 o+ M4 a6 k% X' X
- }6 i1 W6 y) s' d 6、给表改名:
# H8 I9 r9 B! s, l0 H, ?
& F/ T) O5 G8 N RENAME TABLE ztemp TO ztemp4;4 M5 U- B( Y6 ]9 G2 w- m$ k
& M* z4 T2 o& m$ _/ ]% R1 N
7、修改字段属性:; f3 n6 S( n' v
- ~+ X/ Q4 y3 l0 k ALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;
0 }( N1 \* M8 j2 ]% W" Q( u0 c# h, L1 s1 P- I# K
8、在表中的content后增加一字段:
$ o& ] o8 z5 o; f! D6 N5 K% D9 S' W4 ~" l/ R9 U" p2 a. Q% D1 _
ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER
搜索更多相关主题的帖子:
MySQL 集锦 命令 MYSQL 密码 集锦 MySQL 命令