一、连接MY
SQL。
# L; m7 T+ S5 V) T+ V3 Y, e7 i; z! H% {7 n1 x# u2 a. U
格式:mysql-h主机地址-u用户名-p用户密码
' v; d$ W3 s/ \! F, H$ \0 N) V
6 J# W/ g# s# l: u% g1、例1:连接到本机上的MYSQL。
+ y' P! F0 O$ M$ z: Z o
/ m. X! a4 x+ N1 f! s3 \# T' U6 j
首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql%26gt;
9 k) T2 u Z9 ~" J9 \
2 V# M% q. C8 G3 ^, }
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
! l: H- B/ e! A5 R3 f1 q) z M6 h
6 ~% o2 e7 V/ H( J! j; \mysql-h110.110.110.110-uroot-pabcd123
9 }, S. j' J) s s" G+ n. U) v( K* T
(注:u与root可以不用加空格,其它也一样)
- S g+ A$ |7 f4 D6 Z' c/ \# ?4 _& F8 S- v5 U: Y
3、退出MYSQL命令:exit(回车)
, A, L9 U' u0 t% k% b
+ y, y' H4 q' |0 O2 o8 d0 A; B二、修改密码。
$ k4 u6 f/ @) F& I; W1 {$ F6 j( `& m3 h
& p t B6 `. \: z9 f1 e0 `0 U格式:mysqladmin-u用户名-p旧密码password新密码
) G# d" P1 S) o+ G/ _
/ q" N" x$ Z8 b) L. n- S3 Q5 Y
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
* L' U) N' V5 y. \% l7 _9 ?* |1 C: \6 V! j
mysqladmin-uroot-passwordab12
- L O( }1 Z! Y; g
+ U* o& [ c. X x/ j+ t; @7 c注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
$ t% ~% a2 ]- y5 v- u) h+ X
8 q3 R. u! d4 P' e4 j4 d# `2 `2、例2:再将root的密码改为djg345。
8 M+ @3 [4 o! u5 @! j6 e
2 m/ U( e: ^5 g) {' Bmysqladmin-uroot-pab12passworddjg345
# a7 n5 k, u/ P' h) S, `7 o- W
% C4 a( X. L" Y% l. J* e: N: z三、增加新用户。(注意:和上面不同,下面的因为是MYSQL
环境中的命令,所以后面都带一个分号作为命令结束符)
. N2 j7 E+ w: k* O! [/ T
* u$ V0 \% E; F2 J6 D. x* K% H格式:grantselecton
数据库.*to用户名@登录主机identifiedby\"密码\"
- Q) f( _$ R7 B y. T. w0 [" b9 ]
4 b6 O V$ ]% n; }+ H8 }* h例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
9 X0 e O" S2 Y
% _4 r% j& [$ b+ a
grantselect,insert,update,deleteon*.*totest1@\"%\"Identifiedby\"abc\";
: B+ ?3 i( ?5 R
1 v) I2 `& f9 u% a3 ?) V但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台
电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
; I' P Z+ k& Y0 b, D9 C& M3 U; H- A7 r: l$ @, k
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
5 h! l9 p {( f7 A7 ^7 G3 I
1 K: O; r) [7 k: i4 p
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby\"abc\";
+ F. V5 B& U6 @3 k5 r% }
T% \) J O6 T2 u$ C) W, e2 o& T如果你不想test2有密码,可以再打一个命令将密码消掉。
) d7 @3 k, }$ \: _' }3 F8 N2 L
2 I" K: W3 c5 O- M
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby\"\";
+ f; z E! i, U5 c
' J7 K3 k, x8 m% v( a! i在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
" t; U" n# i; F9 `' A& m- _% v0 @9 Q1 @
3 n. B6 S8 P$ ]一、操作技巧
! N3 b5 W9 o" S$ P2 w8 R( |# ^8 G
8 g4 g& T7 Z! M& @4 K: ?# ?1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
" f8 k7 k1 ^, h5 D
# J" a' A) m. B+ m0 N2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。
3 i' d" R" v0 g+ P: M) e, \
2 \8 P0 D, C0 b/ x h+ m
二、显示命令
& j# S: U0 ~" K! d( W! M
2 A) I' J# E$ m7 x
1、显示数据库列表。
0 s" R ~$ Q5 \0 f$ m' u9 M1 n
: j8 x+ [0 z3 w/ rshowdatabases;
3 h! s; w4 f3 ]$ S( G6 R; G
% I( [4 i8 s$ r4 U l- R
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的
系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
/ @9 D( H; Q/ E" r* E8 Z+ B
, q) D5 @% S; C9 @; k2、显示库中的数据表:
: k' j6 C0 m! j* c4 F
l0 W8 w; n/ ?# P) m* ~usemysql;//打开库,学过FOXBASE的一定不会陌生吧
( y9 b9 ~; M. b) h# f* k
. P" E/ T+ [0 q$ a. b& Cshowtables;
8 u& I: V7 v8 j/ P/ w: z5 Q
. w6 E$ V ^4 O3、显示数据表的
结构:
8 Q+ t9 s% o0 q- P( _2 B
C+ C) n* y, Ydescribe表名;
( h _' ^% j" D S5 O& C6 a6 _
$ l( j2 S; c: J2 `3 z! V- ^- C3 s4、建库:
7 o* `+ x( I% a5 z6 Q' e: P- ]/ A+ l9 Z" n$ n; m- s" o
createdatabase库名;
, W$ i0 S: p3 l7 D9 Y+ w
9 ^3 k" S/ a. x8 d7 e" y Q) X4 ?# u+ y) `5、建表:
& s1 a+ M) G8 b* D% ]. E! a v: K" z5 ?& a+ u- x8 V
use库名;
( {: N) F. M9 q1 Y; T3 ]1 s& M
' O3 W, q/ K9 C) s5 Z: R2 hcreatetable表名(字段设定列表);
& ? ~' O5 U2 v
! p' |" Y& y+ o6、删库和删表:
0 B9 w$ Z# T/ O
7 M' m3 Z& S2 ^" A% ]) b$ M: cdropdatabase库名;
# [8 {' a+ `7 L
- d; M. G+ e5 a# c: a, Q- A1 `5 edroptable表名;
- { j& x0 G7 h& W: z3 K! B# y7 L! t
; Y5 }; z8 f1 G7 U2 K7、将表中记录清空:
7 O5 R' w# ~ P2 g$ \# h" b( S( M4 a( @7 W' |5 |( Y- |
deletefrom表名;
: J+ |4 T: U! t, H
" I u i" V$ z8 ?- p% Z8、显示表中的记录:
: o1 F& Y0 H( A3 l, w
" ]7 ?% M* m% G6 d4 i; \select*from表名;
; u# S6 F& k# a9 x; o: c
' \- _; B! X5 S: ]' _ l
三、一个建库和建表以及插入数据的实例
' [) A: ~/ T2 |' d% d! H' D$ ^; o/ n0 ~) N0 N f3 }
dropdatabaseifexistsschool;//如果存在SCHOOL则删除
7 B/ B# ^: w/ @- S6 y8 T) z$ @
* L" q: v7 N- R$ f4 n" P6 R) N2 N) M
createdatabaseschool;//建立库SCHOOL
: O7 f' b1 b K5 n
: X. i% y/ U* Cuseschool;//打开库SCHOOL
8 F7 e% X7 ?5 C9 M, U
, |% k+ X" P4 X( ^create
tableteacher//建立表TEACHER
' W. e& m" n$ Q
- d5 @ G. v# I9 O8 l: P(
2 Y( r, R6 J. Y- t4 O
$ L4 F$ ]9 T y% M" lidint(3)auto_incrementnotnullprimarykey,
, b2 N5 m9 C2 a- U8 U$ [
5 ]& M- Q! I2 ]; q4 M# onamechar(10)notnull,
: ]9 I' N! w! o7 V' ?1 Z( o' Z& r( ~
( i- q! X- C; \& f2 @
addressvarchar(50)default’深圳’,
2 ?# n! H( {, h
1 v ~7 j, k7 B7 ?2 H: g8 T
yeardate
% w0 G# y/ V0 W! l' A
0 r1 k4 G% Z, \3 I- v5 ]% b G3 E+ U);//建表结束
E( |* G# K6 M0 v" p. U- x4 \, |( }& E- @" z
//以下为插入字段
6 \. a2 l( R! F/ [
. D2 c% t/ ^) H% Cinsertintoteachervalues(’’,’glchengang’,’深圳一中’,’1976-10-10’);
5 M$ o' V: h7 A- b3 Y: |" |( J# l- K$ `- k5 }. g$ y( g
insertintoteachervalues(’’,’jack’,’深圳一中’,’1975-12-23’);
" j9 u, g/ W3 P* k+ z, e$ g8 a8 O; B9 l6 l1 _/ C: H
注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:notnull而且让他成为主字段primarykey(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了。(4)将YEAR设为日期字段。
$ K, ~3 n7 y6 Y' |8 r
% Z! w$ V u- W4 G- V6 C9 N如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:
0 a, G$ W/ k6 d; a; B9 O4 a
7 a/ z: v( S! p$ e0 q; v3 }mysql-uroot-p密码%26lt;c:\\school.sql
6 w- }6 g# t, ]# z* H$ @- R X/ [, o- {0 x8 ~+ l- j; d
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
~8 r7 |$ y2 t2 R& d: s# c0 v
I0 B; }9 K! m, w四、将文本数据转到数据库中
4 H2 G' | G! [3 \' i1 L1 b
, I5 [: n# w0 p
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.
( m* Y2 l* i" Z1 f; m: G" w
! M: ]) r B8 _8 n- e- O
例:
. e0 y( J: |7 X/ E Q; |6 f1 t' F5 L4 l+ a
3rose深圳二中1976-10-10
6 Z, S+ l( `( `6 Y( ^2 @6 j2 q+ s' V. X! q, X# F; K4 G
4mike深圳一中1975-12-23
+ Y9 C0 d @0 }' r" ?: @
) x7 D! e J- ]% \* K" \6 b2、数据传入命令loaddatalocalinfile\"文件名\"intotable表名;
0 V8 {0 x# Y6 \% f
6 Y" f! T B8 ^4 g注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。
; _. I3 }6 h: l3 q$ `
( M7 h4 M) x$ W; C Q n# e- t
五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)
{! U* @ b. y5 n
0 M" i: F" B: H7 X4 c) U) i; l
mysqldump--optschool%26gt;school.bbb
- b& _0 ?" }3 b% h& A- j+ @- Z' |( J( I0 d/ z7 y/ ?
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
# m' |- H( p, ~
8 p; x$ R; {; {7 }% K- X
后记:其实MYSQL的对数据库的操作与其它的SQL
类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关
网站都有
下载,而且它是最权威的。可惜不是象\"
PHP4中文手册\"那样是chm的格式,在查找函数命令的时候不太方便。
4 Y6 K/ v5 |1 J
4 R% U" T) ^" d1 ^+ _& `7 kshowdatabases;
9 {' `# E% `4 U) s9 \, J( M
mysql%26gt;createdatabasevbb;
1 X' Y h& s4 lQueryOK,1rowaffected(0.15sec)
1 M8 t% V1 y9 S1 i4 I7 G; K" ^" | x/ K# e! [2 D
mysql%26gt;dropdatabasevbb;
- q; I& R( z, J& x4 l3 s% UQueryOK,0rowsaffected(0.00sec)
- @/ l/ r t, O: |
5 V/ X# ^0 P# F
倒入数据库..
( X4 f8 x& `. K# \
mm3306-urootvbb%26lt;1.sql
/ }2 y2 @- g/ c" D0 O
J. C4 d4 z( V! N
8 Y9 n. G" a% d2 |+ F# H0 i/ g
4 e- ]! O0 K# S' f- Z
, Q) {; q! O: M+ A5 N % N: M; I' v; m& m8 n8 L
#1 问天 发表评论于:2007-1-21 15:33顶一下。虽然一直用pma