此篇主要介紹數據庫中表的操作。數據庫是表的容器,表,必須輸入某個數據庫,因此在創建表之前要指明數據庫。
1.表的創建
列定義: 列名 列的數據類型 [列的屬性(約束)]
創建表的SQL命令:create table 表名(列結構) [表選項];
查看錶的定義,可以用DESCRIBE命令。也可以簡寫爲DESC命令。
查看錶的詳細定義,可以使用 SHOW CREATE TABLE語句。
2.刪除表的語句
SQL命令:DROP TABLE table_name;
可以看到執行刪除表的命令之後,數據庫中刪除的表不存在了。
3.修改表的語句
SQL命令: ALTER TABLE old_table_name RENAME [TO] new_table_name;
增加字段:
在表的第一個位置增加字段:SQL命令 ALTER TABLE table_name ADD 屬性名 屬性類型。
在表的最後一個位置增加字段:SQL命令 ALTER TABLE table_name ADD 屬性名 屬性類型。
在表的指定字段之後增加字段:
SQL命令: ALTER TABLE table_name
ADD 屬性名 屬性類型 AFTER 屬性名
刪除字段:SQL命令: ALTER TABLE table_name DROP 屬性名
修改字段
修改字段的數據類型: SQL命令:ALTER TABLE table_name MODIFY 屬性名 數據類型。
修改字段的名字:SQL命令:ALTER TABLE table_name CHANGE 舊屬性名 新屬性名 舊數據類型。
同時修改字段的屬性和名字:SQL命令:ALTER TABLE table_name CHANGE 舊屬性名 新屬性名 新數據類型。
修改字段的順序:
將字段調整到表的第一個位置,SQL命令:ALTER TABLE table_name MODIFY 屬性名1 數據類型 FIRST;
將字段調整到屬性名爲某一個字段的位置之後。SQL命令:ALTER TABLE table_name 屬性名1 數據類型 AFTER 屬性名2.
4.表的約束
MYSQL支持的完整性約束:
所謂完整性是指數據的準確性和一致性,完整性檢查是指檢查數據的準確性和一致性。
MYSQL軟件所支持的完整性約束如下:
完整性約束關鍵字 含義
NOT NULL 約束字段的值不能爲空
DEFAULT 設置字段的默認值
UNIQUE KEY 約束字段的值是唯一的
PRIMARY KEY 約束字段爲表的主鍵,可以作爲該表記錄的唯一標識
AUTO_INCREMENT 約束字段的值爲自動增加
FOREIGN KEY 約束字段爲表的外鍵
設置唯一約束-----若想給字段上的UK約束設置一個名字,可以執行SQL語句CONSTRAINT,如下:
外鍵約束要保證多個表(通常是兩個表)之間的參照完整性,即構建於兩個表的兩個字段之間的參照關係。
在具體設置FK約束時,設置FK約束的字段必須依賴於數據庫中已經存在的父表的主鍵,外鍵可以爲NULL。
語法形式:
create table table_name(
....
constraint 外鍵約束名 foreign key (屬性名1)
references 表名 (屬性名2)
);