SQL之约束

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

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');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习web安全足足有一个半月有余,之前学的是前端,也会一点python。。好吧差不多忘了。常规工具算是熟悉基本...
    一叶红尘哦哟阅读 3,408评论 4 92
  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,742评论 0 33
  • 组织、组织效率、产品品控、产品创意、产品文化是我的强项。 供应链不是,品牌营销不是,市场不是,资产兼并组合不是。但...
    咸叔说阅读 203评论 0 1
  • 今天是中秋节,想必大家都会跟自己的家人团圆了吧。想想就很美耶,吃着月饼,和家人团聚是一件多么幸福的事情啊。 现在9...
    营养私教西西阅读 394评论 0 0
  • 我用此发微伩,是想让你们知道,我的ipad可以写成这样格式。 另外,今天醒早,随便在"京东"查打印机。虽具体内容不...
    陈明仙阅读 224评论 0 0