mysql建库建表约束

建约束

约束的作用:保证数据库中数据的完整性(正确性和准确性)

常见的约束:主键约束,外键约束,默认约束,唯一约束,check约束(mysqlcheck约束非强制check,所以无效)

创建约束的语法

   主键的作用

一个表只能有一个主键(主键一般由一个列组成,但是也可以有多个列组成,称为联合主键)

保证数据行的唯一性

主键是不能重复的

一般表的主键针对该表是没有任何意义

外键约束

哪个表是从表就在哪个表上面添加外键

      alter table 从表表名 add constraint 约束名(形如:FK_XX) foreign key 从表(外键字段)  references 主表(主键字段);

     注意:建立外键约束时主表所关联的列必须是主键,从表和主表关联对应的列的数据类型相符

alter table   result

add CONSTRAINT fk_stuno FOREIGN key result(stuno) references student(stuno)

默认约束

1.     一般的默认约束

     alter table 表名

    alter 列名 set default 默认值;

#向学生表插入数据 如果没有添加地址 默认为 光谷

alter table student

ALTER  address set default '光谷'#字符串为单引号

2.     设置默认时间

    时间默认为当前时间:

     alter table 表名

    change 列名   列名 timestamp  not null default now();

    #时间默认为当前时间:

    alter table student

     change borndate    borndate  timestamp  not null default now();

唯一约束

alter table 表名  add CONSTRAINT unique(列名);

#将科目表中的科目名称设置唯一约束

 alter table `subject`  add CONSTRAINT unique(subjectname);

主键约束和唯一约束的区别

                  相同点: 保证数据的唯一性

                  不同点:   一个表中只能有一个主键 但是可以有多个 唯一约束

                            主键不能为空    唯一约束是可以为空


你可能感兴趣的:(mysql建库建表约束)