本文實例講述了mysql數據庫常見基本操作。分享給大家供大家參考,具體如下:
本節相關:
首發時間:2018-02-13 20:47
修改:
- 2018-04-07:考慮到規范化,將所有語法中“關鍵字”變成大寫;以及因為整理“mysql學習之路”,移除字符集和校對集問題并歸成一個新博文。
創建數據庫 :
語法 :
CREATE DATABASE 數據庫名字[庫選項];
庫選項說明 :
- 庫選項是可選項,可以不寫 ,如果不考慮全球化和本地化(比如考慮兼容中文問題),可以直接使用無庫選項的命令

- 庫選項有兩項:字符集和校對集。 并且由于一般校對集配合字符集使用,如果不想細化配置校對及可以忽略校對集配置
- 庫選項的字符集是數據庫識別或存儲數據使用的字符集。常用字符集有utf8和gbk;
- 庫選項的校對集是數據庫校對數據時使用的校對集【校對數據時依據校對集的規則來校對,比如有些校對集忽略大小寫】。
- 但凡是創建數據庫時不指定庫選項的,都將使用默認指定的庫選項。
使用示例 :
CREATE DATABASE school_info;
CREATE DATABASE mydatabase CHARSET utf8;
補充說明 :
- 【絕不建議使用,不要沒事找事。?!繑祿烀植荒苁褂藐P鍵字或保留字,如database,delete,如果語法無誤但創建失敗時,那么很可能是使用了關鍵字或保留字。如果非要使用關鍵字或保留字,需要使用`(TAB上面的鍵)包裹數據庫名字,但刪除的時候也需要加`。


- 數據庫名字是中文而無法創建問題:
- 問題的發生是因為客戶端跟服務端的字符集匹配問題,比如說服務端認為客戶端來的UTF8(漢字三個字節),而客戶端的字符集是gbk(漢字兩個字節)。解決辦法是使服務端接受字符的字符集與客戶端使用的字符集相同。
- 另外一個問題是服務端接收中文后傳輸給客戶端顯示問題,這需要使服務端傳輸給客戶端時使用的字符集與客戶端的相同【客戶端是gbk,而服務端傳的是utf8的中文,那么客戶端會顯示錯誤】。
- 修改辦法1:set names 客戶端使用的字符集;【執行set names utf8 就是把character_set_client、character_set_connection、character_set_results這3個參數值都設為utf8】
- 修改辦法2:逐一設置client、result的字符集。

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