美文网首页
SQL之约束

SQL之约束

作者: 钟小胖子 | 来源:发表于2016-12-08 19:56 被阅读0次

    一、约束定义:对相应数据表中的列设定约束以规范存储的数据。

    1、主键约束:要求该列数据唯一且不为空,可以是单字段主键、也可以是多字段联合主键。

    create table t3( uid int primary key, name varchar(10), sex enum('f','m','un')) engine=myisam character set utf8;

    mysql> insert into t3 values(1,'sdkf','f'),(2,'bob','m');

    ERROR 1062 (23000): Duplicate entry '1' for key ‘PRIMARY’

    主键创建方法2:create table t4( umb int,name varchar(10),primary key(umb));

    2、外健约束(可以理解为主键的子集)

    外健搭配主键使用,若不为空值,但每一个外健值必须等于另一个表中主键的某个值;

    外健的数据类型必须必跟主键一样;

    create table t2(

    fid int(100),phone int(16),location varchar(50),

    constraint fk_t1 foreign key(fid)

    references t1(uid)

    );

    插入数据insert into t3 (phone,location) values (12344,'shanghai xxx');

    3、非空约束:即表示创建的该列不能有空值

    在创建的时候加入not null

    create table t4 (id int not null,name varchar(10) not null);

    4、唯一性约束:用于约束对应列中的值不能重复,可以有空值,但只能出现一个空值

    unique

    5、默认约束:用于约束对应列中的值的默认值,除非默认为空值,否则不可插入空值。

    default ‘un’

    二、自增长:用于系统自动生成字段的主键值

    auto_increment

    create table t4(id int primary key auto_increment,name varchar(10));

    insert into t4 (name) values('bob');

    相关文章

      网友评论

          本文标题:SQL之约束

          本文链接:https://www.haomeiwen.com/subject/ubismttx.html