演示:
- CREATE TABLE students(
- id INT PRIMARY KEY,#主建约束(唯一性,非空)
- s_name VARCHAR(10) NOT NULL, #非空
- s_sex CHAR(1) CHECK(s_sex='男' OR s_sex='女'),#检查约束(Mysql无效)
- s_seat INT UNIQUE,#唯一约束
- age INT DEFAULT 18, #默认约束
- major_id INT REFERENCES majors(id) #这是外键,写在列级,Mysql无效
- )
- CREATE TABLE majors(
- id INT PRIMARY KEY,
- m_name VARCHAR(20) NOT NULL
- )
- DROP TABLE IF EXISTS students;
- CREATE TABLE students(
- id INT ,
- s_name VARCHAR(10) ,
- s_sex CHAR(1),
- s_seat INT,
- age INT ,
- major_id INT , #这里下面有表级约束,要隔开,有逗号
- CONSTRAINT pk PRIMARY KEY(id),#为id添加主建约束,pk是起的名,后面一样
- CONSTRAINT uq UNIQUE(s_seat),#唯一性约束
- CONSTRAINT ck CHECK(s_sex='男' OR s_sex='女'),#查询约束
- CONSTRAINT fk_students_majors FOREIGN KEY(major_id) REFERENCES majors(id)#外键约束
- );
【constraint 约束名字】 约束类型(字段名称) 【额外的东西,如外键】
主建,非空,唯一性,默认等这些写在列级
外键约束写在表级!