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