mysql约束_MySQL之约束

6b433b71b96f41531804e147a7205783.png

主键约束

主键的作用:
用来唯一标识数据库中的每一条记录,主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
主键关键字:primary key 
主键的特点:  非空且唯一
在创建表的时候给字段添加主键 :
字段名 字段类型 PRIMARY KEY
在已有表中添加主键 :
ALTER TABLE 表名 ADD PRIMARY KEY(字段名);
删除主键 :
ALTER TABLE 表名 DROP PRIMARY KEY;
主键的自增:
AUTO_INCREMENT 表示自动增长(字段类型必须是整数类型) 
创建表时指定起始值:
CREATE TABLE 表名( 
列名 INT PRIMARY KEY AUTO_INCREMENT 
) AUTO_INCREMENT=起始值;
创建好以后修改起始值 :
ALTER TABLE 表名 AUTO_INCREMENT=起始值; 

DELETE 和 TRUNCATE 对自增长的影响 :

  • DELETE:删除所有的记录之后,自增长没有影响。
  • TRUNCATE:删除以后,自增长又重新开始。

唯一约束

唯一约束的基本格式:
字段名 字段类型 UNIQUE 

非空约束

非空约束的基本语法格式 :
字段名 字段类型 NOT NULL 
默认值:
字段名 字段类型 DEFAULT 默认值

如果一个字段设置了非空与唯一约束,该字段与主键的区别:

  • 主键数在一个表中,只能有一个,不能出现多个主键
  • 主键可以单列,也可以是多列
  • 自增长只能用在主键上

外键约束

什么是外键约束 :
在从表中与主表主键对应的那一列
主表: 一方,用来约束别人的表
从表: 多方,被别人约束的表
新建表时增加外键:
[CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名) 
已有表增加外键: 
ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主键字段名);
删除外键:
ALTER TABLE 从表 DROP FOREIGN KEY 外键约束名称; 
外键的级联:
在修改和删除主表的主键时,同时更新或删除副表的外键值,称为级联操作 
ON UPDATE CASCADE 级联更新,只能是创建表的时候创建级联关系。更新主表中的主键,从表中的外键列也自动同步更新 
ON DELETE CASCADE 级联删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值