FRIMARY KEY 主键
标识该属性为该表的主键,可以唯一的标识对应的元组,主键必须具有唯一不重复、不能为空的特性。
主键是表的一个特殊字段,主键和记录,如同×××和人,主键标识每个记录。可以是单一字段,也可以是多个字段的组合。
语法规则:
单字段主键
属性名 数据类型 primary key
create table mytable1(
primary key,
stu_name varchar(20),
stu_sex boolean
);
多字段主键:
primary key(属性名1,属性名2,...属性名n)
create table mytable2(
stu_id int,
course_id int,
grade float,
primary key(stu_id,course_id)
);
FOREIGN KEY 外键
标识该属性为该表的外键,是与之联系的某表的主键。
外键是表的一个特殊字段,该表称为字表,被引用主键的表称为父表。必须依赖已存在的父表的主键,外键可以为空值。
语法规则:
constraint 外键别名 foreign key(属性1,属性2,...,属性n) references 父表名(属性1,属性2,...,属性n)
create table mytable3(
id int primary key,
course_id int,
constraint c_fk foreign key(stu_id,course_id) references mytable2(stu_id,course_id)
);
NOT NULL 非空
标识该属性不能为空,保证所有的记录该字段都有值。
语法规则:
属性名 属性类型 not null
create table mytable3(
not null primary key,
not null,
stu_id int
);
UNIQUE 唯一
标识该属性值是唯一的
语法规则:
属性名 数据类型 unique
create table mytable5(
id int primary key,
unique,
name varchar(20) not null
);
AUTO_INCREMENT 自增长
标识该属性的值自动增长,插入的新记录自动生成唯一ID,一个表只能有一个字段使用该条件,且必须为主键的一部分,默认从1开始。
语法规则:
属性名 数据类型 auto_increment
create table mytable6(
primary key auto_increment,
stu_id int unique,
name varchar(20) not null
);
DEFAULT 默认值
为该属性设置默认值,如果插入一条记录该字段没有赋值,则系统默认为该字段插入该默认值。
语法规则:
属性名 数据类型 default 默认值
create table mytable7(
id int primary key auto_increment,
stu_id int unique,
name varchar(20) not null,
default 0
):
转载于:https://blog.51cto.com/wuwei5460/1020576