0.建立表
CREATE TABLE 表名 (屬性名稱 資料類型 [完整性條件約束條件],屬性名稱 資料類型 [完整性條件約束條件],屬性名稱 資料類型 [完整性條件約束條件])
“完整性條件約束條件”是指指定某些欄位的某些特殊約束條件。
在使用CREATE TABLE建立表時首先要使用USE語句選擇資料庫。比如有個example資料庫,用USE EXAMPLE選擇這個資料庫。
表名不能用SQL的關鍵字,如create,update等,字母不區分大小寫。
下面是一個建立表的例子:
create table example(id int, name varchar(20), sex boolean);
上例建立了example表,有三個欄位,id整型,name字串型,sex布爾型。
完整性條件約束條件是對欄位進行限制。如果不滿足完整性條件約束條件,資料庫系統將不執行使用者的操作,保護了資料庫中資料的完整性。
下面是完整性條件約束條件:
- PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組
- FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯絡的某表的主鍵
- NOT NULL 標識該屬性不可為空
- UNIQUE 標識該屬性的值是唯一的
- AUTO_INCREMENT 標識該屬性的值自動增加
- DEFAULT 為該屬性設定預設值
1.查看錶結構
describe可簡寫為desc。
describe語句可以查看錶的基本的定義。包括欄位名field,欄位資料類型type,是否為空白null,是否為主外鍵key,預設值default和額外資訊extra。
2.查看錶詳細結構
show create table 表名show create table 表名 \G
\G增強顯示可查看性
語句可以查看錶欄位,各欄位資料類型,完整性條件約束條件,標的儲存引擎,字元編碼等.
3.修改表名
alter table 舊錶名 rename [to] 新表名;
4.修改欄位的資料類型
alter table 表名 modify 屬性名稱 資料類型;
5.修改欄位名
alter table 表名 change 舊屬性名稱 新屬性名稱 新資料類型;
舊屬性名稱參數指修改前的欄位名,新屬性名稱參數指修改後的欄位名,如果不指定資料類型則資料類型不變。
6.增加欄位
alter table 表名 add 屬性名稱1 資料類型 [完整性條件約束條件] [first] after 屬性名稱2;
first可選項指此欄位為表的第一個欄位,after 屬性名稱2指放在指定欄位後面,預設最後一位。
7.刪除欄位
alter table 表名 drop 屬性名稱;
8.刪除關聯表
(1)刪除表的外鍵約束
外鍵是一個特殊欄位,其將某一個表與其父表建立關聯關係。在建立表的時候,外鍵約束就已經設定好了。去掉他們之間的關聯關係需要用到下面語句。
alter table 表名 drop foreign key 外鍵別名;
外鍵別名參數指建立表時設定的外鍵代號。
(2)刪除沒有被關聯的普通表
刪除一個表時,表中的所有資料也會被刪除。刪除表時最好先將表中的資料備份一下。
(3)刪除被其他表關聯的父表
當刪除有關聯關係的表時,用drop table example1 會報錯,原因是有外鍵依賴於該表
例如建立了一個example4表依賴於example1表,example4表的外鍵stu_id依賴於example1表的主鍵。example1表時example4表的父表。
如果要刪除example4表,必須先去掉這種依賴關係。最簡單的辦法是先刪除子表example4,然後刪除父表example1。但這樣可能會影響子表的其他資料。
另一種方法是先刪除子表的外鍵約束,然後刪除父表。這種方法不會影響子表的其他資料,可以保證資料庫的安全。
比如,example4表的外鍵別名是d_fk,刪除example4的外鍵約束
alter table example4 drop foreign key d_fk;
。
可以通過show create table example4 \G來查看是否已刪除。
然後再執行
.
執行成功則表示操作成功。