本文精心挑選了一系列MySQL指令碼,助你提升資料庫效率、解決常見問題,讓你的資料儲存體驗更加高效、可靠。
來源:菜鳥學Python
常用功能指令碼
1.匯出整個資料庫
mysqldump -u 使用者名稱 -p –default-character-set=latin1 資料庫名 > 匯出的檔名(資料庫預設編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.匯出一個表
mysqldump -u 使用者名稱 -p 資料庫名 表名> 匯出的檔名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.匯出一個資料庫結構
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有資料 –add-drop-table 在每個create語句之前增加一個drop table
4.匯入資料庫
A:常用source 命令
進入mysql資料庫控制檯,
如mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)
mysql>source wcnc_db.sql
B:使用mysqldump命令
mysqldump -u username -p dbname < filename.sql
C:使用mysql命令
mysql -u username -p -D dbname < filename.sql
啟動與退出
- 進入MySQL:啟動MySQL Command Line Client(MySQL的DOS介面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>
- 退出MySQL:quit或exit
庫操作
1.建立資料庫
命令:create database <資料庫名>
例如:建立一個名為sqlroad的資料庫
mysql> create database sqlroad;
2.顯示所有的資料庫
命令:show databases (注意:最後有個s)
mysql> show databases;
3.刪除資料庫
命令:drop database <資料庫名>
例如:刪除名為 sqlroad的資料庫
mysql> drop database sqlroad;
4.連線資料庫
命令:use <資料庫名>
例如:如果sqlroad資料庫存在,嘗試存取它:
mysql> use sqlroad;
螢幕提示:Database changed
5.檢視當前使用的資料庫
mysql> select database();
6.當前資料庫包含的表資訊:
mysql> show tables; (注意:最後有個s)
表操作,操作之前應連線某個資料庫
1.建表
命令:create table <表名> ( <欄位名> <型別> [,..<欄位名n> <型別n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default ’′,
> degree double(16,2));
2.獲取表結構
命令:desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3.刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
4.插入資料
命令:insert into <表名> [( <欄位名>[,..<欄位名n> ])] values ( 值 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為的名為Tom的成績為.45, 編號為 的名為Joan 的成績為.99,編號為 的名為Wang 的成績為.5.
mysql> insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (2,’Wang’, 96.59);
5.查詢表中的資料
1)、查詢所有行
命令:select <欄位,欄位,...> from < 表名 > where < 表示式 >
例如:檢視錶 MyClass 中所有資料
mysql> select * from MyClass;
2)、查詢前幾行資料
例如:檢視錶 MyClass 中前行資料
mysql> select * from MyClass order by id limit 0,2;
或者:
mysql> select * from MyClass limit 0,2;
6.刪除表中資料
命令:delete from 表名 where 表示式
例如:刪除表 MyClass中編號為 的記錄
mysql> delete from MyClass where id=1;
7.修改表中資料:update 表名 set 欄位=新值,…where 條件
mysql> update MyClass set name=’Mary’where id=1;
8.在表中增加欄位:
命令:alter table 表名 add欄位 型別 其他;
例如:在表MyClass中添加了一個欄位passtest,型別為int(4),預設值為
mysql> alter table MyClass add passtest int(4) default ’′
9.更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
更新欄位內容
update 表名 set 欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名,’舊內容’, 新內容’)
update article set content=concat(‘ ’,content);
欄位型別和資料庫操作
1.INT[(M)] 型:正常大小整數型別
2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點數字型別
3.DATE 日期型別:支援的範圍是-01–01到-12–31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字串或數字把值賦給DATE列
4.CHAR(M) 型:定長字串型別,當儲存時,總是是用空格填滿右邊到指定的長度
5.BLOB TEXT型別,最大長度為(2¹⁶-1)個字元。
6.VARCHAR型:變長字串型別
7.匯入資料庫表
建立.sql檔案
先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會提示輸入密碼,然後成功建立。
匯入auction.sql檔案
c:mysqlbin>mysql -u root -p auction < auction.sql。
透過以上操作,就可以建立了一個資料庫auction以及其中的一個表auction。
8.修改資料庫
在mysql的表中增加欄位:
alter table dbname add column userid int(11) not null primary key auto_increment;
這樣,就在表dbname中添加了一個欄位userid,型別為int(11)。
9.mysql資料庫的授權
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 使用者名稱@localhost
identified by ‘密碼’;
如:新建一個使用者帳號以便可以訪問資料庫,需要進行如下操作:
mysql> grant usage
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此後就建立了一個新使用者叫:testuser,這個使用者只能從localhost連線到資料庫並可以連線到test 資料庫。下一步,我們必須指定testuser這個使用者可以執行哪些操作:
mysql> GRANT select, insert, delete,update
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操作使testuser能夠在每一個test資料庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作並退出MySQL客戶程式:
mysql> exit
DDL操作
1.使用SHOW語句找出在伺服器上當前存在什麼資料庫:
mysql> SHOW DATABASES;
2.建立一個資料庫MYSQLDATA
mysql> Create DATABASE MYSQLDATA;
3.選擇你所建立的資料庫
mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)
4.檢視現在的資料庫中存在什麼表
mysql> SHOW TABLES;
5.建立一個資料庫表
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6.顯示錶的結構:
mysql> DESCRIBE MYTABLE;
7.往表中加入記錄
mysql> insert into MYTABLE values (“hyq”,”M”);
8.用文字方式將資料裝入資料庫表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt”INTO TABLE MYTABLE;
9.匯入.sql檔案命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10.刪除表
mysql>drop TABLE MYTABLE;
11.清空表
mysql>delete from MYTABLE;
12.更新表中資料
mysql>update MYTABLE set sex=”f”where name=’hyq’;
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~
文章推薦
回顧十週入門數據分析系列文:
關注數據君的臉書:
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!