標籤:mysql 建立表 基本語句
CREATE TABLE [tb_name];
1、建立表的主鍵約束:主鍵是唯一標識某欄位的作用,當該欄位為主鍵的時候,其值必須是唯一的,且不可為空。
mysql>CREATE TABLE student(id INT PRIMARY KEY,
stu_id INT,
course_id INT);id為主鍵,所有欄位都為整數
mysql>CREATE TABLE student (id INT PRIMARY KEY,
stu_id INT,
course_id INT,
PRIMARY KEY(id,stu_id)
); id和stu_id成為主鍵,兩者的組合唯一標識一條記錄
2、建立表的外鍵約束(CONSTRAINT:外鍵別名;FOREIGN KEY:外鍵欄位;REFERENCES 父表):外鍵是和另外一個表關聯其來的作用,外鍵必須是另一表的主鍵,外鍵可以為空白。
mysql>CREATE TABLE student (id INT PRIMARY KEY,
stu_id INT,
course_id INT,
CONSTRAINT c_fk FOREIGN KEY(stu_id,course_id)
REFERENCES example2(stu_id,course)
);表student的stu_id,course_id為外鍵,外鍵到example2表的stu_id,course_id主鍵。example2是student的父表。子表的外部索引鍵關聯的必須是父表的主鍵。而且,資料類型必須一致。
3、設定表的非空約束(NOT NULL):定義欄位值不可為空
mysql>CREATE TABLE student(id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
stu_id INT,
CONSTRAINT e_fk FOREIGN KEY(stu_id)
REFERENCES example1(stu_id)
); id為主鍵,NOT NULL定義id和stu_id為非空約束;CONSTRAINT定義外鍵別名,FOREIGN KEY定義外鍵欄位,REFERENCES定義父表;
4、設定表的唯一約束(UNIQUE):定義欄位值唯一。
mysq>CREATE TABLE student(id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
stu_id INT UNIQUE,
sex CHAR(6),
CONSTRAINT e_fk FOREIGN KEY(sex)
REFERENCES example2(sex),
);id為主鍵且不可為空;name為字串類型且不可為空;sut_id為整形且只能唯一;sex為字串且是外鍵,example2為student父鍵。
5、設定表的屬性值自動增加:數字自動成長(AUTO_INCREMENT)
mysql>CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
stu_id UNIQUE AUTO_INCREMENT,
sex CHAR(6) ,
CONSTRAINT e_fk FOREIGN KEY(sex)
REFERENCES example2(sex),
);id為主鍵且自動成長不可為空,Name為字串不可為空,stu_id是唯一鍵自動成長,sex是外鍵,example2是student的父表。
6、設定表屬性的預設值(如果插入一條新的記錄沒有為這個欄位賦值,那麼資料庫系統會自動為這個欄位插入預設值):DEFAULT
mysql>CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,
name CHAR(20) NOT NULL,
stu_id UNIQUE INT AUTO_INCREMENT,
sex CHAR(6) DEFALUT ‘man‘,
);id為自動成長整數類型,且是主鍵;name為字元類型,不可為空;stu_id是唯一鍵自動成長;sex的預設值是man。
MySQL-建立表及其約束