近期我正在學(xué)習(xí)MySQL命令的操作,之前一直是用Navicat Premium MySql 11.0來(lái)操作Windows平臺(tái)下的MySQL,而現(xiàn)在要把項(xiàng)目搭建到服務(wù)器上,用的是Linux系統(tǒng),因此,這里就先簡(jiǎn)單的把入門級(jí)的命令使用記錄一下,畢竟最難的查詢那塊,基本都寫在項(xiàng)目里面,暫時(shí)就不寫出來(lái)了,等后面哪天有空,再把查詢/模糊查詢那塊的內(nèi)容詳細(xì)介紹給各位童鞋,現(xiàn)在就當(dāng)入門吧!
數(shù)據(jù)庫(kù)的連接
(1)連接本機(jī)數(shù)據(jù)庫(kù)
mysql -u root -p
(2)連接遠(yuǎn)程數(shù)據(jù)庫(kù)
mysql -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼];
(3)斷開連接
exit;或者是quit;
數(shù)據(jù)庫(kù)操作
(1)創(chuàng)建數(shù)據(jù)庫(kù)
create database [數(shù)據(jù)庫(kù)名];
(2)刪除數(shù)據(jù)庫(kù)
drop database [數(shù)據(jù)庫(kù)名];
(3)顯示數(shù)據(jù)庫(kù)
show databases;
(3)連接數(shù)據(jù)庫(kù)
use [數(shù)據(jù)庫(kù)];
備份數(shù)據(jù)庫(kù)
(1)備份mysql數(shù)據(jù)庫(kù)命令
mysqldump -h[遠(yuǎn)程公網(wǎng)地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名] >[數(shù)據(jù)庫(kù)文件名.sql];
(2)備份mysql數(shù)據(jù)庫(kù)為帶刪除表的格式
mysqldump -add-drop-table -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名] > [數(shù)據(jù)庫(kù)文件名.sql];
(3) 能夠讓該備份覆蓋已有數(shù)據(jù)庫(kù)而不需要手動(dòng)刪除原有數(shù)據(jù)庫(kù)。
(4)mysql數(shù)據(jù)庫(kù)壓縮備份
mysqldump -h[遠(yuǎn)程公網(wǎng)地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名] | gzip > [數(shù)據(jù)庫(kù)文件名.sql.gz];
(5)同時(shí)備份多個(gè)mysql數(shù)據(jù)庫(kù)
mysqldump -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名1] [數(shù)據(jù)庫(kù)名2] [數(shù)據(jù)庫(kù)名3] > [數(shù)據(jù)庫(kù)文件名.sql];
(6)同時(shí)備份mysql數(shù)據(jù)庫(kù)某些個(gè)表
mysqldump -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名1] [數(shù)據(jù)表1] [數(shù)據(jù)表2] [數(shù)據(jù)表3] > [數(shù)據(jù)庫(kù)文件名.sql];
(7)僅備份數(shù)據(jù)庫(kù)的結(jié)構(gòu)
musqldump -no-data -databases -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名1] [數(shù)據(jù)庫(kù)名2] > [數(shù)據(jù)庫(kù)文件名.sql];
(8)備份服務(wù)器上的所有數(shù)據(jù)
mysqldump -all-databases -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p [mysql密碼] > [數(shù)據(jù)庫(kù)文件名.sql];
還原數(shù)據(jù)庫(kù)
(1)還原mysql數(shù)據(jù)庫(kù)的命令
mysql -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名] < [數(shù)據(jù)庫(kù)文件名.sql]
(2)還原壓縮的mysql數(shù)據(jù)庫(kù)
gunzip < [數(shù)據(jù)庫(kù)文件名.sql] | mysql -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p[mysql密碼] [數(shù)據(jù)庫(kù)名];
(3)將數(shù)據(jù)庫(kù)轉(zhuǎn)移到另一服務(wù)器
mysqldump -h[遠(yuǎn)程公網(wǎng)IP地址] -u[mysql用戶名] -p [mysql密碼] [數(shù)據(jù)庫(kù)名] | mysql -host=[另一個(gè)遠(yuǎn)程公網(wǎng)IP地址] -C [數(shù)據(jù)庫(kù)名];
修改數(shù)據(jù)庫(kù)名稱
rename database [舊數(shù)據(jù)庫(kù)名] to [新數(shù)據(jù)庫(kù)名]
數(shù)據(jù)表操作
(1)創(chuàng)建數(shù)據(jù)表
create table [表名] ([字段名1] [類型1] [字段名2] [類型2]...);
(2)刪除數(shù)據(jù)表
drop table [表名];
(3)修改數(shù)據(jù)表
update [表名] set [字段1]=[新值1],[字段2]=[新值2],...where [條件];
(4)增加表字段
alter table [表名] add [字段] [類型] [其它(主鍵、默認(rèn)值等)];
數(shù)據(jù)表內(nèi)操作
(1)增加表內(nèi)數(shù)據(jù)
insert into [表名] ([字段1], [字段2]...) values ([值1],[值2],...);
(2)刪除表內(nèi)數(shù)據(jù)
delete from [表名] where [表達(dá)式];
(3)修改表內(nèi)數(shù)據(jù)
update [表名] set [字段1]=[新值1],[字段2]=[新值2],... where [條件];
(4)查詢表內(nèi)數(shù)據(jù)
select [字段1,字段2,...] from [表名] where [表達(dá)式];