mysql建表语句 外键_数据库:使用sql语句建表的时候建立外键的两种方式

mysql建表语句 外键_数据库:使用sql语句建表的时候建立外键的两种方式_第1张图片

外键约束

外键一般是引用另外一张表单的主键外键可以重复外键可以为空主键和外键不一定名称一致,一致比较好,可读性性强一个表引用n个表的主键,那么就会有n个外键

设置外键有两种方式,一个是在建表的时候就直接设置好外键,还有一个就是表已经建立好的情况下,通过alter添加外键,两个方法均可以实现。

方式一:在建表的同时建立外键

这样就将emp表的deptno设置外键,其中fk_emp_dept是外键的名称

方式二:先建表,然后再添加外键

两种方式均添加了外键,上面两个都添加了外键名称,这个作用是方便删除外键的

一旦建立外键,要注意,主表中主键没有的,从表不能添加,还有从表中使用的主表不能删除,要想删除,要先把从表中使用某个主键的删除,然后再删除主表中的数据

CREATE TABLE dept(deptno INT PRIMARY KEY AUTO_INCREMENT,demame VARCHAR(50));CREATE TABLE emp(empno INT PRIMARY KEY AUTO_INCREMENT,ename VARCHAR(50),deptno INT,CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno));CREATE TABLE emp(empno INT PRIMARY KEY AUTO_INCREMENT,ename VARCHAR(50),deptno INT);ALTER TABLE emp ADD CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno);

你可能感兴趣的:(mysql建表语句,外键)