mysql基础---数据约束(七)

创建表约束
   --create table student (
id int primary key,
name VARCHAR(20) not null,
address VARCHAR(20) default '北京'
);
1.1.设置默认值default''
   --default:可以设置默认值,允许为空,也可以插入其他值
1.2.非空约束(not null)
   --必须赋值,不能赋空值。
1.3.唯一(unique)
   --值是唯一的,值不能重复,但可以设置多个null值。一般用于是id。
1.4.主键(非空+唯一)primary key
   --通常情况下,每张表都会设置一个主键,用于标记表中每条记录的唯一性
   --建议不要选择表包含业务含义的字段作为主键,建议给每张表设计一个非业务含义的id字段。
1.5.自增长(auto_increment)
   --可以不用赋值,会随着添加数据,自增。
1.6.零填充(zerofill)
   --id 前填充零。列如:id int(4); 0001 0002
1.7.  外键约束(forein key())另张表:外键格式:表名+id
   --声明一个外键约束
teacherId int
constraint student_teacher_fk forein key(teacherId) references student(id);    
外键名称      外键约束     外键               参考表(参考字段)
--注意:
-约束的其他表的叫主表,被约束的叫副表,外键设置在副表中。
-当有了外键约束,添加数据的顺序:先添加主表数据,再添加从表数据。
-当有了外键约束,修改数据的顺序:先修改从表数据,再修改主表数据。
-当有了外键约束,删除数据的顺序:先删除从表数据,再删除主表数据。


数据冗余高怎么办?
- 解决:将冗余的字段放到一张独立的表中,注意使用外键约束。
1.8. 级联操作
--级联修改:(on update cascade)
--级联删除:(on delete cascade)
teacherId int
constraint student_teacher_fk forein key(teacherId) references student(id) on update cascade on delete cascade;    
外键名称      外键约束     外键          参考表(参考字段) 级联修改        级联删除


update student set id=5 where id=4;  --将id为4 的都修改成5.
delete from student where id =1; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值