MySQL 常用腳本
常用功能腳本
1 mysqldump -u 用戶名 -p –default-character-set=latin1 數(shù)據(jù)庫名 > 導(dǎo)出的文件名(數(shù)據(jù)庫默認(rèn)編碼是latin1)
2
3 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql??
2.導(dǎo)出一個表
1 mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
2
3 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)
1 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
2
3 -d 沒有數(shù)據(jù) –add-drop-table 在每個create語句之前增加一個drop table
4.導(dǎo)入數(shù)據(jù)庫
1 A:常用source 命令
2
3 進入mysql數(shù)據(jù)庫控制臺,
4
5 如mysql -u root -p
6
7 mysql>use 數(shù)據(jù)庫
8
9 然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
10
11 mysql>source wcnc_db.sql
12
13 B:使用mysqldump命令
14
15 mysqldump -u username -p dbname < filename.sql
16
17 C:使用mysql命令
18
19 mysql -u username -p -D dbname < filename.sql
啟動與退出?
庫操作?
表操作,操作之前應(yīng)連接某個數(shù)據(jù)庫??
1、建表
1 命令:create table <表名> ( <字段名> <類型> [,..<字段名n> <類型n>]);
2
3 mysql> create table MyClass(
4
5 > id int(4) not null primary key auto_increment,
6
7 > name char(20) not null,
8
9 > sex int(4) not null default ’′,
10
11 > degree double(16,2));
2、獲取表結(jié)構(gòu)
1 命令:desc 表名,或者show columns from 表名
2
3 mysql>DESCRIBE MyClass
4
5 mysql> desc MyClass;
6
7 mysql> show columns from MyClass;
3、刪除表
1 命令:drop table <表名>
2
3 例如:刪除表名為 MyClass 的表
4
5 mysql> drop table MyClass;
4、插入數(shù)據(jù)
1 命令:insert into <表名> [( <字段名>[,..<字段名n> ])] values ( 值 )[, ( 值n )]
2
3 例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為的名為Tom的成績?yōu)?45, 編號為 的名為Joan 的成績?yōu)?99,編號為 的名為Wang 的成績?yōu)?5.
4
5 mysql> insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (2,’Wang’, 96.59);
5、查詢表中的數(shù)據(jù)
1 1)、查詢所有行
2
3 命令:select <字段,字段,...> from < 表名 > where < 表達式 >
4
5 例如:查看表 MyClass 中所有數(shù)據(jù)
6
7 mysql> select * from MyClass;
8
9 2)、查詢前幾行數(shù)據(jù)
10
11 例如:查看表 MyClass 中前行數(shù)據(jù)
12
13 mysql> select * from MyClass order by id limit 0,2;
14
15 或者:
16
17 mysql> select * from MyClass limit 0,2;
6、刪除表中數(shù)據(jù)
1 命令:delete from 表名 where 表達式
2
3 例如:刪除表 MyClass中編號為 的記錄
4
5 mysql> delete from MyClass where id=1;
7、修改表中數(shù)據(jù):update 表名 set 字段=新值,…where 條件
1 mysql> update MyClass set name=’Mary’where id=1;
8、在表中增加字段:
1 命令:alter table 表名 add字段 類型 其他;
2
3 例如:在表MyClass中添加了一個字段passtest,類型為int(4),默認(rèn)值為
4
5 mysql> alter table MyClass add passtest int(4) default ’′
6
9、更改表名:
1 命令:rename table 原表名 to 新表名;
2
3 例如:在表MyClass名字更改為YouClass
4
5 mysql> rename table MyClass to YouClass;
6
7 更新字段內(nèi)容
8
9 update 表名 set 字段名 = 新內(nèi)容
10
11 update 表名 set 字段名 = replace(字段名,’舊內(nèi)容’, 新內(nèi)容’)
12
13 update article set content=concat(‘ ’,content);
字段類型和數(shù)據(jù)庫操作
1 創(chuàng)建.sql文件
2
3 先產(chǎn)生一個庫如auction.c:mysqlbin>mysqladmin -u root -p create auction,會提示輸入密碼,然后成功創(chuàng)建。
4
5 導(dǎo)入auction.sql文件
6
7 c:mysqlbin>mysql -u root -p auction < auction.sql。
8
9 通過以上操作,就可以創(chuàng)建了一個數(shù)據(jù)庫auction以及其中的一個表auction。
8.修改數(shù)據(jù)庫
1 在mysql的表中增加字段:
2
3 alter table dbname add column userid int(11) not null primary key auto_increment;
4
5 這樣,就在表dbname中添加了一個字段userid,類型為int(11)。
9.mysql數(shù)據(jù)庫的授權(quán)
1 mysql>grant select,insert,delete,create,drop
2
3 on *.* (或test.*/user.*/..)
4
5 to 用戶名@localhost
6
7 identified by ‘密碼’;
8
9 如:新建一個用戶帳號以便可以訪問數(shù)據(jù)庫,需要進行如下操作:
10
11 mysql> grant usage
12
13 -> ON test.*
14
15 -> TO testuser@localhost;
16
17 Query OK, 0 rows affected (0.15 sec)
18
19 此后就創(chuàng)建了一個新用戶叫:testuser,這個用戶只能從localhost連接到數(shù)據(jù)庫并可以連接到test 數(shù)據(jù)庫。下一步,我們必須指定testuser這個用戶可以執(zhí)行哪些操作:
20
21 mysql> GRANT select, insert, delete,update
22
23 -> ON test.*
24
25 -> TO testuser@localhost;
26
27 Query OK, 0 rows affected (0.00 sec)
28
29 此操作使testuser能夠在每一個test數(shù)據(jù)庫中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作。現(xiàn)在我們結(jié)束操作并退出MySQL客戶程序:
30
31 mysql> exit
DDL操作
文章轉(zhuǎn)自:?杰哥的IT之旅
(版權(quán)歸原作者所有,侵刪)