1. 程式人生 > >mysql數據庫的基本操作:創建數據庫、查看數據庫、修改數據庫、刪除數據庫

mysql數據庫的基本操作:創建數據庫、查看數據庫、修改數據庫、刪除數據庫

bbs nor nlb res tco ipc sep tmg atop


本節相關:

創建數據庫,查看數據庫,修改數據庫,刪除數據庫

首發時間:2018-02-13 20:47


創建數據庫 :

語法 :

create database 數據庫名字[庫選項];

庫選項說明 :

  • 庫選項是可選項,可以不寫
  • 庫選項有兩項:字符集和校對集。
  • 庫選項的字符集是數據庫識別或存儲數據使用的字符集。常用字符集有utf8和gbk;
  • 庫選項的校對集是數據庫校對數據時使用的校對集【校對數據時依據校對集的規則來校對,比如有些校對集忽略大小寫】。

但凡是創建數據庫時不指定庫選項的,都將使用默認指定的庫選項。

技術分享圖片

技術分享圖片

補充:

  • 查看默認校對集
show variabls like
character%
  • 查看默認校對集:
show variables like collation_%;

使用示例 :

create database shool_info;
create database mydatabase charset utf8;
create database fordelete charset gbk;

補充說明 :

  • 數據庫名字不能使用關鍵字或保留字,如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的字符集。

技術分享圖片

補充說明:

幾個character_set的意義:

  • client--服務端認為客戶端使用的字符集
  • connection--連接使用的編碼,用於mysql內部【占位清楚使用意義,如果未來弄明白再補充】
  • database--當前數據庫使用的字符集
  • filesystem--文件系統
  • results --服務端發送給客戶端的結果的字符集
  • server -- 服務端使用的字符集,如果創建數據庫時沒有指定字符集,那麽會使用服務端當前使用的字符集
  • system--數據庫系統
  • dir--字符集存儲的目錄


查看數據庫 :

數據庫的查看可以查看現有的數據庫,也可以查看數據庫的創建語句。

語法:

-- 查看所有數據庫
show databases;
-- 查看指定部分的數據庫
show databases like ‘模糊匹配;
-- 查看數據庫的創建語句;
show create database 數據庫名;

通配符【通配符可以用來模糊匹配字符】:

show database like ‘模糊匹配’中:

%代表匹配多個任意字符,

_代表匹配單個任意字符

如果_或者%也是一個包含在數據庫名字中的字符的話,需要使用轉義字符\,不然會認定_和%是通配符

如查找database_student, 需使用database\_%;,不然可能查找出databasedemo之類不帶database_的數據庫。

使用示例:

show database;
show database like my%;
show database like my_;
show create database mydatabase;


修改數據庫 :

數據庫的修改可以修改數據庫的庫選項(字符集和校對集)

語法:

Alter database 數據庫名字 [庫選項];

使用示例:

-- 修改數據庫的字符集
Alter database mydatabase charset gbk;
Alter database mydatabase character set gbk;
Alter database mydatabase character set = gbk;
-- 修改數據庫的校對集
Alter database mydatabase collate utf8_bin;

補充說明:

校對集依賴於字符集,一般單獨修改字符集時校對集也會更改,單獨修改校對集字符集也會更改。

如果更改的校對集依賴的字符集相同,不改變字符集。


刪除數據庫 :

語法:

drop database 數據庫名字;

使用示例:

-- 刪除數據庫 what
drop database what;

補充說明:

技術分享圖片


mysql數據庫的基本操作:創建數據庫、查看數據庫、修改數據庫、刪除數據庫