SQL 常用腳本整理
常用功能腳本
1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù) ?
1mysqldump?-u?用戶名?-p?–default-character-set=latin1?數(shù)據(jù)庫(kù)名?>?導(dǎo)出的文件名(數(shù)據(jù)庫(kù)默認(rèn)編碼是latin1)??
2
3mysqldump?-u?wcnc?-p?smgp_apps_wcnc?>?wcnc.sql??
2.導(dǎo)出一個(gè)表 ?
1mysqldump?-u?用戶名?-p?數(shù)據(jù)庫(kù)名?表名>?導(dǎo)出的文件名??
2
3mysqldump?-u?wcnc?-p?smgp_apps_wcnc?users>?wcnc_users.sql??
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu) ?
1mysqldump?-u?wcnc?-p?-d?–add-drop-table?smgp_apps_wcnc?>d:wcnc_db.sql??
2
3-d?沒有數(shù)據(jù)?–add-drop-table?在每個(gè)create語(yǔ)句之前增加一個(gè)drop?table???
1A:常用source?命令??
2
3進(jìn)入mysql數(shù)據(jù)庫(kù)控制臺(tái),??
4
5如mysql?-u?root?-p??
6
7mysql>use?數(shù)據(jù)庫(kù)??
8
9然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)??
10
11mysql>source?wcnc_db.sql??
12
13B:使用mysqldump命令??
14
15mysqldump?-u?username?-p?dbname?filename.sql??
16
17C:使用mysql命令??
18
19mysql?-u?username?-p?-D?dbname?filename.sql??
1、進(jìn)入MySQL:?jiǎn)?dòng)MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時(shí)的密碼即可。此時(shí)的提示符是:mysql> ?
2、退出MySQL:quit或exit ?
1、、創(chuàng)建數(shù)據(jù)庫(kù) ? 命令:create database <數(shù)據(jù)庫(kù)名> ? 例如:建立一個(gè)名為sqlroad的數(shù)據(jù)庫(kù) ? mysql> create database?sqlroad; ?
2、顯示所有的數(shù)據(jù)庫(kù) ? 命令:show databases (注意:最后有個(gè)s) ? mysql> show databases; ?搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。
3、刪除數(shù)據(jù)庫(kù) ? 命令:drop database <數(shù)據(jù)庫(kù)名> ? 例如:刪除名為?sqlroad的數(shù)據(jù)庫(kù) ? mysql> drop database?sqlroad; ?
4、連接數(shù)據(jù)庫(kù) ? 命令:use <數(shù)據(jù)庫(kù)名> ? 例如:如果sqlroad數(shù)據(jù)庫(kù)存在,嘗試存取它:? mysql> use?sqlroad; ? 屏幕提示:Database changed ?
5、查看當(dāng)前使用的數(shù)據(jù)庫(kù) ? mysql> select database(); ?
6、當(dāng)前數(shù)據(jù)庫(kù)包含的表信息:? mysql> show tables; (注意:最后有個(gè)s) ?
1、建表 ?
1命令:create table <表名>?(?<字段名>?<類型>?[,..<字段名n>?<類型n>]);??
2
3mysql>?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
3mysql>DESCRIBE?MyClass??
4
5mysql>?desc?MyClass;??
6
7mysql>?show?columns?from?MyClass;??
1命令:drop?table?<表名>??
2
3例如:刪除表名為 MyClass 的表??
4
5mysql>?drop?table?MyClass;??
4、插入數(shù)據(jù) ?
1命令:insert?into?<表名>?[(?<字段名>[,..<字段名n>?])]?values?(?值?)[,?(?值n?)]??
2
3例如,往表?MyClass中插入二條記錄, 這二條記錄表示:編號(hào)為的名為Tom的成績(jī)?yōu)?span style="outline: 0px;max-width: 100%;font-size: inherit;line-height: inherit;color: rgb(165, 218, 45);box-sizing: border-box !important;overflow-wrap: inherit !important;word-break: inherit !important;">.45,?編號(hào)為?的名為Joan?的成績(jī)?yōu)?span style="outline: 0px;max-width: 100%;font-size: inherit;line-height: inherit;color: rgb(165, 218, 45);box-sizing: border-box !important;overflow-wrap: inherit !important;word-break: inherit !important;">.99,編號(hào)為?的名為Wang?的成績(jī)?yōu)?span style="outline: 0px;max-width: 100%;font-size: inherit;line-height: inherit;color: rgb(165, 218, 45);box-sizing: border-box !important;overflow-wrap: inherit !important;word-break: inherit !important;">.5.??
4
5mysql>?insert?into?MyClass?values(1,’Tom’,96.45),(2,’Joan’,82.99),?(2,’Wang’,?96.59);??
5、查詢表中的數(shù)據(jù) ?
11)、查詢所有行??
2
3命令:select?<字段,字段,...>?from??where???
4
5例如:查看表?MyClass?中所有數(shù)據(jù)??
6
7mysql>?select?*?from?MyClass;??
8
92)、查詢前幾行數(shù)據(jù)??
10
11例如:查看表?MyClass?中前行數(shù)據(jù)??
12
13mysql>?select?*?from?MyClass?order?by?id?limit?0,2;??
14
15或者:??
16
17mysql>?select?*?from?MyClass?limit?0,2;??
6、刪除表中數(shù)據(jù) ?搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。
1命令:delete?from?表名?where?表達(dá)式??
2
3例如:刪除表 MyClass中編號(hào)為?的記錄??
4
5mysql>?delete?from?MyClass?where?id=1;??
7、修改表中數(shù)據(jù):update 表名 set 字段=新值,…where 條件 ?
1mysql>?update?MyClass?set?name=’Mary’where?id=1;??
8、在表中增加字段:?
1命令:alter table 表名?add字段?類型?其他;??
2
3例如:在表MyClass中添加了一個(gè)字段passtest,類型為int(4),默認(rèn)值為??
4
5mysql>?alter?table?MyClass?add?passtest?int(4)?default?’′??
6
9、更改表名:?
1命令:rename table 原表名?to?新表名;??
2
3例如:在表MyClass名字更改為YouClass??
4
5mysql>?rename?table?MyClass?to?YouClass;??
6
7更新字段內(nèi)容??
8
9update?表名?set?字段名?=?新內(nèi)容??
10
11update?表名?set?字段名?=?replace(字段名,’舊內(nèi)容’,?新內(nèi)容’)??
12
13update?article?set?content=concat(‘ ’,content);??
1.INT[(M)] 型:正常大小整數(shù)類型 ?
2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點(diǎn)數(shù)字類型 ?
3.DATE 日期類型:支持的范圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來(lái)顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列 ?
4.CHAR(M) 型:定長(zhǎng)字符串類型,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度 ?搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。
5.BLOB TEXT類型,最大長(zhǎng)度為(2^16-1)個(gè)字符。?
6.VARCHAR型:變長(zhǎng)字符串類型 ?
7.導(dǎo)入數(shù)據(jù)庫(kù)表 ?
1創(chuàng)建.sql文件??
2
3先產(chǎn)生一個(gè)庫(kù)如auction.c:mysqlbin>mysqladmin?-u?root?-p?creat?auction,會(huì)提示輸入密碼,然后成功創(chuàng)建。??
4
5導(dǎo)入auction.sql文件??
6
7c:mysqlbin>mysql?-u?root?-p?auction?auction.sql。??
8
9通過以上操作,就可以創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)auction以及其中的一個(gè)表auction。???
8.修改數(shù)據(jù)庫(kù) ?
1在mysql的表中增加字段:??
2
3alter?table?dbname?add?column?userid?int(11)?not?null?primary?key?auto_increment;??
4
5這樣,就在表dbname中添加了一個(gè)字段userid,類型為int(11)。??
9.mysql數(shù)據(jù)庫(kù)的授權(quán) ?
1mysql>grant?select,insert,delete,create,drop??
2
3on?*.*?(或test.*/user.*/..)??
4
5to?用戶名@localhost??
6
7identified by ‘密碼’;??
8
9如:新建一個(gè)用戶帳號(hào)以便可以訪問數(shù)據(jù)庫(kù),需要進(jìn)行如下操作:??
10
11mysql>?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)建了一個(gè)新用戶叫:testuser,這個(gè)用戶只能從localhost連接到數(shù)據(jù)庫(kù)并可以連接到test 數(shù)據(jù)庫(kù)。下一步,我們必須指定testuser這個(gè)用戶可以執(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能夠在每一個(gè)test數(shù)據(jù)庫(kù)中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作。現(xiàn)在我們結(jié)束操作并退出MySQL客戶程序:??
30
31 mysql>?exit??
1:使用SHOW語(yǔ)句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫(kù):? mysql> SHOW DATABASES; ?
2、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)MYSQLDATA ? mysql> Create DATABASE MYSQLDATA; ?
3:選擇你所創(chuàng)建的數(shù)據(jù)庫(kù) ? mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時(shí)說(shuō)明操作成功!) ?
4:查看現(xiàn)在的數(shù)據(jù)庫(kù)中存在什么表 ? mysql> SHOW TABLES; ?
5:創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表 ? mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));??
6:顯示表的結(jié)構(gòu):? mysql> DESCRIBE MYTABLE; ?
7:往表中加入記錄 ? mysql> insert into MYTABLE values (“hyq”,”M”); ?
8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫(kù)表中(例如D:/mysql.txt) ? mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt”INTO TABLE MYTABLE; ?
9:導(dǎo)入.sql文件命令(例如D:/mysql.sql) ? mysql>use database; ? mysql>source d:/mysql.sql; ?
10:刪除表 ? mysql>drop TABLE MYTABLE; ?
11:清空表 ? mysql>delete from MYTABLE; ?
12:更新表中數(shù)據(jù) ? mysql>update MYTABLE set sex=”f”where name=’hyq’;
以上。
PS:如果覺得我的分享不錯(cuò),歡迎大家隨手點(diǎn)贊、轉(zhuǎn)發(fā)、在看。
常用功能腳本 1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù) ? 1mysqldump?-u?用戶名?-p?–default-character-set=latin1?數(shù)據(jù)庫(kù)名?>?導(dǎo)出的文件名(數(shù)據(jù)庫(kù)默認(rèn)編碼是latin1)??
2
3mysqldump?-u?wcnc?-p?smgp_apps_wcnc?>?wcnc.sql??
2.導(dǎo)出一個(gè)表 ?
1mysqldump?-u?用戶名?-p?數(shù)據(jù)庫(kù)名?表名>?導(dǎo)出的文件名??
2
3mysqldump?-u?wcnc?-p?smgp_apps_wcnc?users>?wcnc_users.sql??
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu) ?
1mysqldump?-u?wcnc?-p?-d?–add-drop-table?smgp_apps_wcnc?>d:wcnc_db.sql??
2
3-d?沒有數(shù)據(jù)?–add-drop-table?在每個(gè)create語(yǔ)句之前增加一個(gè)drop?table???
1A:常用source?命令??
2
3進(jìn)入mysql數(shù)據(jù)庫(kù)控制臺(tái),??
4
5如mysql?-u?root?-p??
6
7mysql>use?數(shù)據(jù)庫(kù)??
8
9然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)??
10
11mysql>source?wcnc_db.sql??
12
13B:使用mysqldump命令??
14
15mysqldump?-u?username?-p?dbname?filename.sql??
16
17C:使用mysql命令??
18
19mysql?-u?username?-p?-D?dbname?filename.sql??
1、進(jìn)入MySQL:?jiǎn)?dòng)MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時(shí)的密碼即可。此時(shí)的提示符是:mysql> ? 2、退出MySQL:quit或exit ?
1、、創(chuàng)建數(shù)據(jù)庫(kù) ? 命令:create database <數(shù)據(jù)庫(kù)名> ? 例如:建立一個(gè)名為sqlroad的數(shù)據(jù)庫(kù) ? mysql> create database?sqlroad; ? 2、顯示所有的數(shù)據(jù)庫(kù) ? 命令:show databases (注意:最后有個(gè)s) ? mysql> show databases; ?搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。 3、刪除數(shù)據(jù)庫(kù) ? 命令:drop database <數(shù)據(jù)庫(kù)名> ? 例如:刪除名為?sqlroad的數(shù)據(jù)庫(kù) ? mysql> drop database?sqlroad; ? 4、連接數(shù)據(jù)庫(kù) ? 命令:use <數(shù)據(jù)庫(kù)名> ? 例如:如果sqlroad數(shù)據(jù)庫(kù)存在,嘗試存取它:? mysql> use?sqlroad; ? 屏幕提示:Database changed ? 5、查看當(dāng)前使用的數(shù)據(jù)庫(kù) ? mysql> select database(); ? 6、當(dāng)前數(shù)據(jù)庫(kù)包含的表信息:? mysql> show tables; (注意:最后有個(gè)s) ?
1、建表 ?
1命令:create table <表名>?(?<字段名>?<類型>?[,..<字段名n>?<類型n>]);??
2
3mysql>?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
3mysql>DESCRIBE?MyClass??
4
5mysql>?desc?MyClass;??
6
7mysql>?show?columns?from?MyClass;??
1命令:drop?table?<表名>??
2
3例如:刪除表名為 MyClass 的表??
4
5mysql>?drop?table?MyClass;??
4、插入數(shù)據(jù) ?
1命令:insert?into?<表名>?[(?<字段名>[,..<字段名n>?])]?values?(?值?)[,?(?值n?)]??
2
3例如,往表?MyClass中插入二條記錄, 這二條記錄表示:編號(hào)為的名為Tom的成績(jī)?yōu)?span style="outline: 0px;max-width: 100%;font-size: inherit;line-height: inherit;color: rgb(165, 218, 45);box-sizing: border-box !important;overflow-wrap: inherit !important;word-break: inherit !important;">.45,?編號(hào)為?的名為Joan?的成績(jī)?yōu)?span style="outline: 0px;max-width: 100%;font-size: inherit;line-height: inherit;color: rgb(165, 218, 45);box-sizing: border-box !important;overflow-wrap: inherit !important;word-break: inherit !important;">.99,編號(hào)為?的名為Wang?的成績(jī)?yōu)?span style="outline: 0px;max-width: 100%;font-size: inherit;line-height: inherit;color: rgb(165, 218, 45);box-sizing: border-box !important;overflow-wrap: inherit !important;word-break: inherit !important;">.5.??
4
5mysql>?insert?into?MyClass?values(1,’Tom’,96.45),(2,’Joan’,82.99),?(2,’Wang’,?96.59);??
5、查詢表中的數(shù)據(jù) ?
11)、查詢所有行??
2
3命令:select?<字段,字段,...>?from??where???
4
5例如:查看表?MyClass?中所有數(shù)據(jù)??
6
7mysql>?select?*?from?MyClass;??
8
92)、查詢前幾行數(shù)據(jù)??
10
11例如:查看表?MyClass?中前行數(shù)據(jù)??
12
13mysql>?select?*?from?MyClass?order?by?id?limit?0,2;??
14
15或者:??
16
17mysql>?select?*?from?MyClass?limit?0,2;??
6、刪除表中數(shù)據(jù) ?搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。
1命令:delete?from?表名?where?表達(dá)式??
2
3例如:刪除表 MyClass中編號(hào)為?的記錄??
4
5mysql>?delete?from?MyClass?where?id=1;??
7、修改表中數(shù)據(jù):update 表名 set 字段=新值,…where 條件 ?
1mysql>?update?MyClass?set?name=’Mary’where?id=1;??
8、在表中增加字段:?
1命令:alter table 表名?add字段?類型?其他;??
2
3例如:在表MyClass中添加了一個(gè)字段passtest,類型為int(4),默認(rèn)值為??
4
5mysql>?alter?table?MyClass?add?passtest?int(4)?default?’′??
6
9、更改表名:?
1命令:rename table 原表名?to?新表名;??
2
3例如:在表MyClass名字更改為YouClass??
4
5mysql>?rename?table?MyClass?to?YouClass;??
6
7更新字段內(nèi)容??
8
9update?表名?set?字段名?=?新內(nèi)容??
10
11update?表名?set?字段名?=?replace(字段名,’舊內(nèi)容’,?新內(nèi)容’)??
12
13update?article?set?content=concat(‘ ’,content);??
1.INT[(M)] 型:正常大小整數(shù)類型 ? 2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點(diǎn)數(shù)字類型 ? 3.DATE 日期類型:支持的范圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來(lái)顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列 ? 4.CHAR(M) 型:定長(zhǎng)字符串類型,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度 ?搜索公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師后臺(tái)回復(fù)“2T”,獲取一份驚喜禮包。 5.BLOB TEXT類型,最大長(zhǎng)度為(2^16-1)個(gè)字符。? 6.VARCHAR型:變長(zhǎng)字符串類型 ? 7.導(dǎo)入數(shù)據(jù)庫(kù)表 ?
1創(chuàng)建.sql文件??
2
3先產(chǎn)生一個(gè)庫(kù)如auction.c:mysqlbin>mysqladmin?-u?root?-p?creat?auction,會(huì)提示輸入密碼,然后成功創(chuàng)建。??
4
5導(dǎo)入auction.sql文件??
6
7c:mysqlbin>mysql?-u?root?-p?auction?auction.sql。??
8
9通過以上操作,就可以創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)auction以及其中的一個(gè)表auction。???
8.修改數(shù)據(jù)庫(kù) ?
1在mysql的表中增加字段:??
2
3alter?table?dbname?add?column?userid?int(11)?not?null?primary?key?auto_increment;??
4
5這樣,就在表dbname中添加了一個(gè)字段userid,類型為int(11)。??
9.mysql數(shù)據(jù)庫(kù)的授權(quán) ?
1mysql>grant?select,insert,delete,create,drop??
2
3on?*.*?(或test.*/user.*/..)??
4
5to?用戶名@localhost??
6
7identified by ‘密碼’;??
8
9如:新建一個(gè)用戶帳號(hào)以便可以訪問數(shù)據(jù)庫(kù),需要進(jìn)行如下操作:??
10
11mysql>?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)建了一個(gè)新用戶叫:testuser,這個(gè)用戶只能從localhost連接到數(shù)據(jù)庫(kù)并可以連接到test 數(shù)據(jù)庫(kù)。下一步,我們必須指定testuser這個(gè)用戶可以執(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能夠在每一個(gè)test數(shù)據(jù)庫(kù)中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作。現(xiàn)在我們結(jié)束操作并退出MySQL客戶程序:??
30
31 mysql>?exit??
1:使用SHOW語(yǔ)句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫(kù):? mysql> SHOW DATABASES; ? 2、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)MYSQLDATA ? mysql> Create DATABASE MYSQLDATA; ? 3:選擇你所創(chuàng)建的數(shù)據(jù)庫(kù) ? mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時(shí)說(shuō)明操作成功!) ? 4:查看現(xiàn)在的數(shù)據(jù)庫(kù)中存在什么表 ? mysql> SHOW TABLES; ? 5:創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表 ? mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));?? 6:顯示表的結(jié)構(gòu):? mysql> DESCRIBE MYTABLE; ? 7:往表中加入記錄 ? mysql> insert into MYTABLE values (“hyq”,”M”); ? 8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫(kù)表中(例如D:/mysql.txt) ? mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt”INTO TABLE MYTABLE; ? 9:導(dǎo)入.sql文件命令(例如D:/mysql.sql) ? mysql>use database; ? mysql>source d:/mysql.sql; ? 10:刪除表 ? mysql>drop TABLE MYTABLE; ? 11:清空表 ? mysql>delete from MYTABLE; ? 12:更新表中數(shù)據(jù) ? mysql>update MYTABLE set sex=”f”where name=’hyq’; 以上。
PS:如果覺得我的分享不錯(cuò),歡迎大家隨手點(diǎn)贊、轉(zhuǎn)發(fā)、在看。
評(píng)論
圖片
表情
