本文實例講述了mysql數(shù)據(jù)庫常見基本操作。分享給大家供大家參考,具體如下:
本節(jié)相關(guān):
- 創(chuàng)建數(shù)據(jù)庫
- 查看數(shù)據(jù)庫
- 修改數(shù)據(jù)庫
- 刪除數(shù)據(jù)庫
首發(fā)時間:2018-02-13 20:47
修改:
- 2018-04-07:考慮到規(guī)范化,將所有語法中“關(guān)鍵字”變成大寫;以及因為整理“mysql學(xué)習(xí)之路”,移除字符集和校對集問題并歸成一個新博文。
創(chuàng)建數(shù)據(jù)庫 :
語法 :
CREATE DATABASE 數(shù)據(jù)庫名字[庫選項];
庫選項說明 :
- 庫選項是可選項,可以不寫 ,如果不考慮全球化和本地化(比如考慮兼容中文問題),可以直接使用無庫選項的命令
- 庫選項有兩項:字符集和校對集。 并且由于一般校對集配合字符集使用,如果不想細化配置校對及可以忽略校對集配置
- 庫選項的字符集是數(shù)據(jù)庫識別或存儲數(shù)據(jù)使用的字符集。常用字符集有utf8和gbk;
- 庫選項的校對集是數(shù)據(jù)庫校對數(shù)據(jù)時使用的校對集【校對數(shù)據(jù)時依據(jù)校對集的規(guī)則來校對,比如有些校對集忽略大小寫】。
- 但凡是創(chuàng)建數(shù)據(jù)庫時不指定庫選項的,都將使用默認指定的庫選項。
使用示例 :
CREATE DATABASE school_info;
CREATE DATABASE mydatabase CHARSET utf8;
補充說明 :
- 【絕不建議使用,不要沒事找事。?!繑?shù)據(jù)庫名字不能使用關(guān)鍵字或保留字,如database,delete,如果語法無誤但創(chuàng)建失敗時,那么很可能是使用了關(guān)鍵字或保留字。如果非要使用關(guān)鍵字或保留字,需要使用`(TAB上面的鍵)包裹數(shù)據(jù)庫名字,但刪除的時候也需要加`。
- 數(shù)據(jù)庫名字是中文而無法創(chuàng)建問題:
- 問題的發(fā)生是因為客戶端跟服務(wù)端的字符集匹配問題,比如說服務(wù)端認為客戶端來的UTF8(漢字三個字節(jié)),而客戶端的字符集是gbk(漢字兩個字節(jié))。解決辦法是使服務(wù)端接受字符的字符集與客戶端使用的字符集相同。
- 另外一個問題是服務(wù)端接收中文后傳輸給客戶端顯示問題,這需要使服務(wù)端傳輸給客戶端時使用的字符集與客戶端的相同【客戶端是gbk,而服務(wù)端傳的是utf8的中文,那么客戶端會顯示錯誤】。
- 修改辦法1:set names 客戶端使用的字符集;【執(zhí)行set names utf8 就是把character_set_client、character_set_connection、character_set_results這3個參數(shù)值都設(shè)為utf8】
- 修改辦法2:逐一設(shè)置client、result的字符集。
查看數(shù)據(jù)庫 :
- 數(shù)據(jù)庫的查看可以查看現(xiàn)有的數(shù)據(jù)庫,也可以查看數(shù)據(jù)庫的創(chuàng)建語句。
- 數(shù)據(jù)庫的創(chuàng)建語句就是服務(wù)端創(chuàng)建這個數(shù)據(jù)庫的所有語句(比如說服務(wù)端會配置上數(shù)據(jù)庫的字符集)
語法:
-- 查看所有數(shù)據(jù)庫
SHOW DATABASES;
-- 查看符合條件的數(shù)據(jù)庫
SHOW DATABASES LIKE '模糊匹配';
-- 查看數(shù)據(jù)庫的創(chuàng)建語句;
SHOW CREATE DATABASE 數(shù)據(jù)庫名;
模糊匹配:
模糊匹配使用通配符來模糊查找。
- %代表匹配多個任意字符,比如%student可以找出:Astudent、ABCstudent、456student
- _代表匹配單個任意字符,比如_student可以找出:Astudent、Cstudent、6student
- 如果_或者%也是一個包含在數(shù)據(jù)庫名字中的字符的話,需要使用轉(zhuǎn)義字符\,不然會認定_和%是通配符
- 如查找database_student, 需使用database\_%;,不然可能查找出databasedemo之類不帶database_的數(shù)據(jù)庫。
使用示例:
SHOW DATABASES;
SHOW DATABASES LIKE 'my%';
SHOW DATABASES LIKE 'my_';
SHOW CREATE DATABASE mydatabase;
修改數(shù)據(jù)庫 :
- 數(shù)據(jù)庫的修改可以修改數(shù)據(jù)庫的庫選項(字符集和校對集)
語法:
Alter database 數(shù)據(jù)庫名字 [庫選項];
使用示例:
ALTER DATABASE mydatabase CHARSET utf8;
ALTER DATABASE mydatabase CHARACTER SET utf8;
ALTER DATABASE mydatabase CHARACTER SET = utf8;
補充說明:
- 校對集依賴于字符集,一般單獨修改字符集時校對集也會更改,單獨修改校對集字符集也會更改。
- 如果更改的校對集依賴的字符集相同,不改變字符集。
- 字符集和校對集問題,將在我的另一篇博文講述。
刪除數(shù)據(jù)庫 :
刪除數(shù)據(jù)庫就是刪除掉整個數(shù)據(jù)庫連同整個數(shù)據(jù)庫的數(shù)據(jù)。刪除的數(shù)據(jù)無法恢復(fù),刪庫有風(fēng)險,跑路需謹慎。
語法:
DROP DATABASE 數(shù)據(jù)庫名字;
使用示例:
-- 刪除數(shù)據(jù)庫 mydatabase
DROP DATABASE mydatabase;
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
您可能感興趣的文章:- MySQL 快速刪除大量數(shù)據(jù)(千萬級別)的幾種實踐方案詳解
- MySQL 處理重復(fù)數(shù)據(jù)的方法(防止、刪除)
- MySQL對數(shù)據(jù)庫操作(創(chuàng)建、選擇、刪除)
- MySQL使用mysqldump+binlog完整恢復(fù)被刪除的數(shù)據(jù)庫原理解析
- Linux實現(xiàn)定時備份MySQL數(shù)據(jù)庫并刪除30天前的備份文件
- linux定時備份MySQL數(shù)據(jù)庫并刪除以前的備份文件(推薦)
- MySQL數(shù)據(jù)誤刪除的快速解決方法(MySQL閃回工具)
- mysql定時刪除過期數(shù)據(jù)記錄的簡單方法
- Mysql的Binlog數(shù)據(jù)恢復(fù):不小心刪除數(shù)據(jù)庫詳解
- MySQL實現(xiàn)快速刪除所有表而不刪除數(shù)據(jù)庫的方法
- MySQL刪除數(shù)據(jù)庫的兩種方法
- MySQL刪除數(shù)據(jù),表文件大小依然沒變的原因