本文實(shí)例講述了mysql數(shù)據(jù)庫(kù)常見基本操作。分享給大家供大家參考,具體如下:
本節(jié)相關(guān):
- 創(chuàng)建數(shù)據(jù)庫(kù)
- 查看數(shù)據(jù)庫(kù)
- 修改數(shù)據(jù)庫(kù)
- 刪除數(shù)據(jù)庫(kù)
首發(fā)時(shí)間:2018-02-13 20:47
修改:
- 2018-04-07:考慮到規(guī)范化,將所有語法中“關(guān)鍵字”變成大寫;以及因?yàn)檎怼癿ysql學(xué)習(xí)之路”,移除字符集和校對(duì)集問題并歸成一個(gè)新博文。
創(chuàng)建數(shù)據(jù)庫(kù) :
語法 :
CREATE DATABASE 數(shù)據(jù)庫(kù)名字[庫(kù)選項(xiàng)];
庫(kù)選項(xiàng)說明 :
- 庫(kù)選項(xiàng)是可選項(xiàng),可以不寫 ,如果不考慮全球化和本地化(比如考慮兼容中文問題),可以直接使用無庫(kù)選項(xiàng)的命令

- 庫(kù)選項(xiàng)有兩項(xiàng):字符集和校對(duì)集。 并且由于一般校對(duì)集配合字符集使用,如果不想細(xì)化配置校對(duì)及可以忽略校對(duì)集配置
- 庫(kù)選項(xiàng)的字符集是數(shù)據(jù)庫(kù)識(shí)別或存儲(chǔ)數(shù)據(jù)使用的字符集。常用字符集有utf8和gbk;
- 庫(kù)選項(xiàng)的校對(duì)集是數(shù)據(jù)庫(kù)校對(duì)數(shù)據(jù)時(shí)使用的校對(duì)集【校對(duì)數(shù)據(jù)時(shí)依據(jù)校對(duì)集的規(guī)則來校對(duì),比如有些校對(duì)集忽略大小寫】。
- 但凡是創(chuàng)建數(shù)據(jù)庫(kù)時(shí)不指定庫(kù)選項(xiàng)的,都將使用默認(rèn)指定的庫(kù)選項(xiàng)。
使用示例 :
CREATE DATABASE school_info;
CREATE DATABASE mydatabase CHARSET utf8;
補(bǔ)充說明 :
- 【絕不建議使用,不要沒事找事。。】數(shù)據(jù)庫(kù)名字不能使用關(guān)鍵字或保留字,如database,delete,如果語法無誤但創(chuàng)建失敗時(shí),那么很可能是使用了關(guān)鍵字或保留字。如果非要使用關(guān)鍵字或保留字,需要使用`(TAB上面的鍵)包裹數(shù)據(jù)庫(kù)名字,但刪除的時(shí)候也需要加`。


- 數(shù)據(jù)庫(kù)名字是中文而無法創(chuàng)建問題:
- 問題的發(fā)生是因?yàn)榭蛻舳烁?wù)端的字符集匹配問題,比如說服務(wù)端認(rèn)為客戶端來的UTF8(漢字三個(gè)字節(jié)),而客戶端的字符集是gbk(漢字兩個(gè)字節(jié))。解決辦法是使服務(wù)端接受字符的字符集與客戶端使用的字符集相同。
- 另外一個(gè)問題是服務(wù)端接收中文后傳輸給客戶端顯示問題,這需要使服務(wù)端傳輸給客戶端時(shí)使用的字符集與客戶端的相同【客戶端是gbk,而服務(wù)端傳的是utf8的中文,那么客戶端會(huì)顯示錯(cuò)誤】。
- 修改辦法1:set names 客戶端使用的字符集;【執(zhí)行set names utf8 就是把character_set_client、character_set_connection、character_set_results這3個(gè)參數(shù)值都設(shè)為utf8】
- 修改辦法2:逐一設(shè)置client、result的字符集。

查看數(shù)據(jù)庫(kù) :
- 數(shù)據(jù)庫(kù)的查看可以查看現(xiàn)有的數(shù)據(jù)庫(kù),也可以查看數(shù)據(jù)庫(kù)的創(chuàng)建語句。
- 數(shù)據(jù)庫(kù)的創(chuàng)建語句就是服務(wù)端創(chuàng)建這個(gè)數(shù)據(jù)庫(kù)的所有語句(比如說服務(wù)端會(huì)配置上數(shù)據(jù)庫(kù)的字符集)
語法:
-- 查看所有數(shù)據(jù)庫(kù)
SHOW DATABASES;
-- 查看符合條件的數(shù)據(jù)庫(kù)
SHOW DATABASES LIKE '模糊匹配';
-- 查看數(shù)據(jù)庫(kù)的創(chuàng)建語句;
SHOW CREATE DATABASE 數(shù)據(jù)庫(kù)名;
模糊匹配:
模糊匹配使用通配符來模糊查找。
- %代表匹配多個(gè)任意字符,比如%student可以找出:Astudent、ABCstudent、456student
- _代表匹配單個(gè)任意字符,比如_student可以找出:Astudent、Cstudent、6student
- 如果_或者%也是一個(gè)包含在數(shù)據(jù)庫(kù)名字中的字符的話,需要使用轉(zhuǎn)義字符\,不然會(huì)認(rèn)定_和%是通配符
- 如查找database_student, 需使用database\_%;,不然可能查找出databasedemo之類不帶database_的數(shù)據(jù)庫(kù)。
使用示例:
SHOW DATABASES;
SHOW DATABASES LIKE 'my%';
SHOW DATABASES LIKE 'my_';
SHOW CREATE DATABASE mydatabase;
修改數(shù)據(jù)庫(kù) :
- 數(shù)據(jù)庫(kù)的修改可以修改數(shù)據(jù)庫(kù)的庫(kù)選項(xiàng)(字符集和校對(duì)集)
語法:
Alter database 數(shù)據(jù)庫(kù)名字 [庫(kù)選項(xiàng)];
使用示例:
ALTER DATABASE mydatabase CHARSET utf8;
ALTER DATABASE mydatabase CHARACTER SET utf8;
ALTER DATABASE mydatabase CHARACTER SET = utf8;
補(bǔ)充說明:
- 校對(duì)集依賴于字符集,一般單獨(dú)修改字符集時(shí)校對(duì)集也會(huì)更改,單獨(dú)修改校對(duì)集字符集也會(huì)更改。
- 如果更改的校對(duì)集依賴的字符集相同,不改變字符集。
- 字符集和校對(duì)集問題,將在我的另一篇博文講述。
刪除數(shù)據(jù)庫(kù) :
刪除數(shù)據(jù)庫(kù)就是刪除掉整個(gè)數(shù)據(jù)庫(kù)連同整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)。刪除的數(shù)據(jù)無法恢復(fù),刪庫(kù)有風(fēng)險(xiǎn),跑路需謹(jǐn)慎。
語法:
DROP DATABASE 數(shù)據(jù)庫(kù)名字;
使用示例:
-- 刪除數(shù)據(jù)庫(kù) mydatabase
DROP DATABASE mydatabase;
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
您可能感興趣的文章:- MySQL 快速刪除大量數(shù)據(jù)(千萬級(jí)別)的幾種實(shí)踐方案詳解
- MySQL 處理重復(fù)數(shù)據(jù)的方法(防止、刪除)
- MySQL對(duì)數(shù)據(jù)庫(kù)操作(創(chuàng)建、選擇、刪除)
- MySQL使用mysqldump+binlog完整恢復(fù)被刪除的數(shù)據(jù)庫(kù)原理解析
- Linux實(shí)現(xiàn)定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除30天前的備份文件
- linux定時(shí)備份MySQL數(shù)據(jù)庫(kù)并刪除以前的備份文件(推薦)
- MySQL數(shù)據(jù)誤刪除的快速解決方法(MySQL閃回工具)
- mysql定時(shí)刪除過期數(shù)據(jù)記錄的簡(jiǎn)單方法
- Mysql的Binlog數(shù)據(jù)恢復(fù):不小心刪除數(shù)據(jù)庫(kù)詳解
- MySQL實(shí)現(xiàn)快速刪除所有表而不刪除數(shù)據(jù)庫(kù)的方法
- MySQL刪除數(shù)據(jù)庫(kù)的兩種方法
- MySQL刪除數(shù)據(jù),表文件大小依然沒變的原因