本文實例講述了mysql數據庫常見基本操作。分享給大家供大家參考,具體如下:
本節相關:
- 創建數據庫
- 查看數據庫
- 修改數據庫
- 刪除數據庫
首發時間:2018-02-13 20:47
修改:
- 2018-04-07:考慮到規范化,將所有語法中“關鍵字”變成大寫;以及因為整理“mysql學習之路”,移除字符集和校對集問題并歸成一個新博文。
創建數據庫 :
語法 :
1
|
create database 數據庫名字[庫選項]; |
庫選項說明 :
-
庫選項是可選項,可以不寫 ,如果不考慮全球化和本地化(比如考慮兼容中文問題),可以直接使用無庫選項的命令
- 庫選項有兩項:字符集和校對集。 并且由于一般校對集配合字符集使用,如果不想細化配置校對及可以忽略校對集配置
- 庫選項的字符集是數據庫識別或存儲數據使用的字符集。常用字符集有utf8和gbk;
- 庫選項的校對集是數據庫校對數據時使用的校對集【校對數據時依據校對集的規則來校對,比如有些校對集忽略大小寫】。
- 但凡是創建數據庫時不指定庫選項的,都將使用默認指定的庫選項。
使用示例 :
1
2
|
create database school_info; create database mydatabase charset utf8; |
補充說明 :
- 【絕不建議使用,不要沒事找事。。】數據庫名字不能使用關鍵字或保留字,如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的字符集。
查看數據庫 :
- 數據庫的查看可以查看現有的數據庫,也可以查看數據庫的創建語句。
- 數據庫的創建語句就是服務端創建這個數據庫的所有語句(比如說服務端會配置上數據庫的字符集)
語法:
1
2
3
4
5
6
7
8
|
-- 查看所有數據庫 show databases; -- 查看符合條件的數據庫 show databases like '模糊匹配' ; -- 查看數據庫的創建語句; show create database 數據庫名; |
模糊匹配:
模糊匹配使用通配符來模糊查找。
- %代表匹配多個任意字符,比如%student可以找出:astudent、abcstudent、456student
- _代表匹配單個任意字符,比如_student可以找出:astudent、cstudent、6student
-
如果_或者%也是一個包含在數據庫名字中的字符的話,需要使用轉義字符\,不然會認定_和%是通配符
- 如查找database_student, 需使用database\_%;,不然可能查找出databasedemo之類不帶database_的數據庫。
使用示例:
1
2
3
4
|
show databases; show databases like 'my%' ; show databases like 'my_' ; show create database mydatabase; |
修改數據庫 :
- 數據庫的修改可以修改數據庫的庫選項(字符集和校對集)
語法:
1
|
alter database 數據庫名字 [庫選項]; |
使用示例:
1
2
3
|
alter database mydatabase charset utf8; alter database mydatabase character set utf8; alter database mydatabase character set = utf8; |
補充說明:
- 校對集依賴于字符集,一般單獨修改字符集時校對集也會更改,單獨修改校對集字符集也會更改。
- 如果更改的校對集依賴的字符集相同,不改變字符集。
- 字符集和校對集問題,將在我的另一篇博文講述。
刪除數據庫 :
刪除數據庫就是刪除掉整個數據庫連同整個數據庫的數據。刪除的數據無法恢復,刪庫有風險,跑路需謹慎。
語法:
1
|
drop database 數據庫名字; |
使用示例:
1
2
|
-- 刪除數據庫 mydatabase drop database mydatabase; |
希望本文所述對大家MySQL數據庫計有所幫助。
原文鏈接:https://www.cnblogs.com/progor/p/8447367.html