文章目錄
- 6.1.1、建立表的文法形式
- 6.1.2、設定表的主鍵
- 6.1.3、設定表的外鍵
- 6.1.4、設定表的非空約束
- 6.1.5、設定表的唯一性限制式
- 6.1.6、設定表的屬性值自動增加
- 6.1.7、設定表的屬性的預設值
- 6.2.1、查看錶基本結構語句DESCRIBE
- 6.2.2、查看錶詳細結構語句SHOW CREATE TABLE
- 6.3.1、修改表名
- 6.3.2、修改欄位的資料類型
- 6.3.3~6.3.6、欄位及資料類型的增、刪,改以及改變位置
- 6.3.7、更改表的儲存引擎
- 6.3.8、刪除表的外鍵約束
- 6.4.1、刪除沒有被關聯的普通表
- 6.4.2、刪除被其他表關聯的父表
6.1、建立表6.1.1、建立表的文法形式
CREATE TABLE 表名 ( 屬性名稱 資料類型 [完整性條件約束條件],
屬性名稱 資料類型 [完整性條件約束條件],
......
屬性名稱 資料類型
);
完整性條件約束條件表:
PRIMARYKEY 主鍵
FOREIGNKEY 外鍵
NOTNULL 不可為空
UNIQUE 唯一索引
AUTO_INCREMENT 自動增加
DEFAULT 預設值
CREATE TABLEexample0 (id INT,
name VARCHAR(20),
sex BOOLEAN
);
6.1.2、設定表的主鍵
單欄位主鍵
屬性名稱資料類型 PRIMARY KEY
CREATE TABLEexample1(stu_id INT PRIMARY KEY,
stu_name VARCHAR(20),
stu_sexBOOLEAN,
);
多欄位主鍵
PRIMARY KEY(屬性名稱1, 屬性名稱2…屬性名稱n)
CREATE TABLEexample2(stu_id INT,
course_idINT,
gradeFLOAT,
PRIMARY KEY(stu_id, course_id)
);
6.1.3、設定表的外鍵
CONSTRAINT 外鍵別名 FOREIGN KEY (屬性1.1, 屬性1.2,…, 屬性1.n)
REFERENCES表名(屬性2.1, 屬性2.2,…, 屬性2.n)
CREATE TABLEexample3(stu_id INT,
course_idINT,
CONSTRAINTc_fk FOREIGN KEY (stu_id, course_id)
REFERENCESexample2(stu_id, course_id)
);
6.1.4、設定表的非空約束
屬性名稱 資料類型 NOT NULL
CREATE TABLEexample4(id INT NOT NULL PRIMARYKEY,
name VARCHAR(20)NOT NULL,
stu_id INT,
CONSTRAINTd_fk FOREIGN KEY(stu_id),
REFERENCESexample1(stu_id)
);
6.1.5、設定表的唯一性限制式
屬性名稱 資料類型 UNIQUE
CREATE TABLEexample5(id INTPRIMARY KEY,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);
6.1.6、設定表的屬性值自動增加
屬性名稱 資料類型 AUTO_INCREMENT
CREATE TABLEexample6(id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INTUNIQUE,
name VARCHAR(20)NOT NULL
);
6.1.7、設定表的屬性的預設值
屬性名稱 資料類型 DEFAULT 預設值
CREATE TABLEexample7(id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INTUNIQUE,
name VARCHAR(20)NOT NULL.
english VARCHAR(20)DEFAULT ‘zero’,
computer FLOAT DEFAULT 0
);
6.2、查看錶結構6.2.1、查看錶基本結構語句DESCRIBE
DESC 表名
desc example1
6.2.2、查看錶詳細結構語句SHOW CREATE TABLE
SHOW CREATE TABLE 表名;
SHOW CREATETABLE example example1\G;
6.3、修改表6.3.1、修改表名
ALTER TABLE 舊錶名 RENAME [TO] 新表名;
DESC example0;
ALTER TABLE example0 RENAME TO user;
6.3.2、修改欄位的資料類型
ALTER TABLE 表名 MODIFY 屬性名稱資料類型;
DESC user;
ALTER TABLE user MODIFY name VARCHAR(30);
DESC user;
6.3.3~6.3.6、欄位及資料類型的增、刪,改以及改變位置
ALTER TABLE 表名 ADD 屬性名稱1 資料類型 [完整性條件約束條件] [FIRST|AFTER屬性名稱2];
ALTER TABLE 表名 DROP 屬性名稱;
ALTER TABLE 表名 CHANGE 舊屬性名稱新屬性名稱 新資料類型;
利用上面的語句可以增加,刪除,修改欄位。修改欄位名,資料類型,和位置
6.3.7、更改表的儲存引擎
ALTER TABLE 表名ENGINE=INNODB|MYISAM|MEMOERY;
SHOW CREATE TABLE user\G;
ALTER TABLE user ENGINE=MyISAM;
6.3.8、刪除表的外鍵約束
ALTER TABLE表名 DROP FOREIGN KEY 外鍵別名 ;
SHOW CREATE TABLE example3\G;
ALTER TABLE example3 DROP FOREIGN KEY c_fk;
SHOW CREATE TABLE example3\G;
6.4、刪除表6.4.1、刪除沒有被關聯的普通表
DROP TABLE 表名;
DESC example5;
DROP TABLE example5;
DESC example5;
6.4.2、刪除被其他表關聯的父表
刪除外鍵後再刪除表
DROP TABLE example1; -- 報錯
SHOW TABLE example4\G;
ALTER TABLE example4 DROP FOREIGN KEY d_fk;
SHOW TABLE example4\G;
DROP TABLE example1;
DESC example1;