主键与外键

有两种方式可以添加主键约束:
1.在定义列的同时指定主键;
2.在定义完字段之后再指定主键。

(1) 在定义列的同时指定主键:

(2) 在定义完所有列之后指定主键。
多字段联合主键

在开发中还有一种情况很常见,就是将几个字段联合在一起作为主键,那这个在代码中怎么实现呢?
举个例子,我们将员工的名字和部门ID联合起来作为主键:

CREATE TABLE t_emp2
(
name VARCHAR(32),
deptId INT,
salary FLOAT,
PRIMARY KEY(name,deptId)
)
外部关键字
在以后我们统一将外部关键字叫做外键,外键就是另一张表中的主键。

问:外键有啥用啊?
答:外键的主要作用就是保持数据的一致性,完整性。
在这里插入图片描述
如图有两张表,classId 是T_Student的外键,是T_class 表的主键, 如果我们要删除T_class 表中classId为1的字段,程序是会报错的,因为t_student表中有数据和classId为1的字段关联了,是不能删除的,这样子就保证了数据的一致性和完整性。

继续问:那怎么才能删除呢?
接着答:需要先删除T__student表中classId为1的两个字段。
在MySQL中给表中字段添加外键约束的语法规则如下:

CONSTRAINT 外键名 FOREIGN KEY 字段名 REFERENCES 主表名(主键名)
唯一约束(Unique Constraint)要求该列唯一,允许为空,但是只能有一个空值。唯一约束可以确保一列或者几列不出现重复值。
怎么添加非空约束
关键词:NOT NULL;
怎么使用默认约束
默认约束:即给字段一个默认值。
关键词:DEFAULT
如果是添加字符串型默认值要使用单引号,如果是整型则不需要加任何符号;
如果要添加的是中文默认值,则需要加上DEFAULT CHARSET=utf8;使用英文字符则不需要。
设置表的属性自动增加:
关键词:AUTO_INCREMENT,
https://www.educoder.net/classrooms/5429/online_learning

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想成为前端工程师滴小小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值