MySQL之DDL操作資料庫
DDL(Data Definition Language),翻譯過來叫:資料庫定義語言,用於在資料庫定義建立或刪除資料庫物件等操作,例如:create(建立)、drop(刪除)、alter(修改)等語句。
1、建立資料庫和檢視資料庫:
建立資料庫語法:CREATE DATABASE 資料庫名;
檢視使用者所有資料庫語法:SHOW DATABASE;
如圖所示效果:其中系統會在安裝mysql之後會自動建立一些資料庫,有4個,分別為information_schema、mysql、performance_schema、test,其中的其他資料庫是我自己建立的。注意不對系統建立的資料庫做更改或者其他操作,否則可能會導致資料庫使用異常。
注意點:在執行SQL命令時加分號結束,不然有些命令會認為是換行操作。
2、刪除資料和切換資料資料庫:
刪除資料庫語法:drop database 資料庫名;
如圖所示效果:可以發現在我們執行刪除命令之後,再次檢視資料庫,已經發現所刪資料庫已經不見,說明刪除成功。
切換資料庫語法:use 資料庫名;
如下圖效果箭頭所指的語句出現表示已經切換到所選擇的資料庫。
以上即為資料庫DDL的常見操作。
1.1 DDL之操作表 :
* 建立表:
語法:create table 表名
( 列名1 列型別 約束 ,
列名2 列型別 約束
) ;
如圖效果所示:
注意:建立表時先use 你要把表建立在那個資料庫下。
在建立完表之後可以使用 desc 表名 查看錶結構。
執行完命令後如圖所示:
注意:以上為最簡單的表建立:實際建立表中我們在建立表時還會對欄位進行對應的約束,以保證資料的準確性和唯一性。例如:學生的學號必須唯一,性別只能是男或者女,等等一系列的約束 。
常用的約束屬性如下表:
常用的屬性約束 |
|||
欄位屬性 |
關鍵字 |
說明 |
|
非空約束 |
NOT NULL |
表示該欄位不允許為空 |
|
預設約束 |
DEDAULT |
表示賦予某欄位預設值,如性別:預設性別為“男” |
|
唯一約束 |
UNIQUE KEY(UK) |
表示該欄位唯一,允許為空,但只能是一個空值,比如:身份證號。 |
|
主鍵約束 |
PRIMARY KEY(PK) |
設定某欄位為表的主鍵, |
|
外來鍵約束 |
FORELIGN KEY(FK) |
表示用於兩表之間建立關係,需要指定主表的那一欄位。 |
|
自動增長 |
AUTO_INCREMENT |
表示設定該列為自增欄位,預設自增1,通常用於設定主鍵 且為整數型別。 |
* 修改表:
1、修改表之新增列:
語法: alter table 表名
add(
列名 列型別);
如下圖效果所示:可以發現執行完命令之後,再次查看錶結構,可以多了一個age的記錄 這說明已經新增成功。
有增加列肯定就有修改列:
語法:alter table 表名 modify 列名 列型別;
注意:如果被修改的列已存在資料,那麼新的型別可能會影響到已存在的資料
如圖效果所示:可以發現表資料已經發生更改。
* 修改之修改列名:
語法: alter table 表名 change 原列名 新列名 列型別;
如圖效果所示:
* 修改之刪除列:
alter table 表名 drop 列名;
如圖效果所示:
*修改表名稱
語法:alter table 原表名 rename to 新表名;
如圖效果所示:
*刪除表:
語法: drop table 表名;
如圖效果所示: