约束_外键约束和约束_外键约束_级联操作


 外键约束

-- 创建表
CREATE TABLE emp(
    id int PRIMARY KEY auto_increment,
    name varchar(30),
    age INT,
    dep_name VARCHAR(30),
    dep_location VARCHAR(30)
    
);

-- 添加数据
INSERT INTO emp (NAME,age,dep_name,dep_location) VALUES ('张三',20,'研发部','广州');
INSERT INTO emp (NAME,age,dep_name,dep_location) VALUES ('李四',21,'研发部','广州');
INSERT INTO emp (NAME,age,dep_name,dep_location) VALUES ('王五',20,'研发部','广州');
 
INSERT INTO emp (NAME,age,dep_name,dep_location) VALUES ('老王',28,'销售部','深圳');
INSERT INTO emp (NAME,age,dep_name,dep_location) VALUES ('大王',22,'销售部','深圳');
INSERT INTO emp (NAME,age,dep_name,dep_location) VALUES ('小王',18,'销售部','深圳');


CREATE TABLE department(
     id INT PRIMARY KEY AUTO_INCREMENT,
     dep_name VARCHAR(20), -- 部门名称
     dep_location VARCHAR(20) -- 部门地址
);

-- 创建员工表(id,name,age,dep_id)
-- 多方,从表
CREATE TABLE employee(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(30),
    age INT,
    dep_id INT, -- 外键对应主表的主键
    CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id)
);
-- 添加2个部门
INSERT INTO department VALUES(NULL,'研发部','广州'),(NULL,'销售部','广州');

-- 添加员工,dep_id 表示员工所在的部门
INSERT INTO employee(NAME,age,dep_id) VALUES ('张三',20,1);
INSERT INTO employee(NAME,age,dep_id) VALUES ('李四',21,1);
INSERT INTO employee(NAME,age,dep_id) VALUES ('王五',20,1);
INSERT INTO employee(NAME,age,dep_id) VALUES ('老王',28,2);
INSERT INTO employee(NAME,age,dep_id) VALUES ('大王',22,2);
INSERT INTO employee(NAME,age,dep_id) VALUES ('小王',18,2);

 

语法:foreign key  :让表与表产生关系,从而保证数据的正确性。

    在创建表示,可以添加外键

    语法:

      create  table 表名(

        …..

        外键列

        constrant (外键名称:随便起一个) foreign key (外键列名称) References  注意名称(主列表名称)

       );

 

删除外键

-- 删除外键
ALTER TABLE employee DROP FOREIGN KEY emp_dept_fk;

 

添加外键

-- 添加外键
ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id)

 

 

 

 

 

 

 

 

 

约束_外键约束_级联操作

创建表之后添加外键

    ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(id) on UPDATE CASCADE ON DELETE CASCADE;

分类:

  级联更新:ON Update Cascade

  级联删除:ON delete Cascade

 

-- 添加外键, 设置级联跟新,设置级联删除
ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dep_id) REFERENCES department(id) on UPDATE CASCADE ON DELETE CASCADE;

 

搜索

 

 

 

 

 

 

复制

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/276764.html

(0)
上一篇 2022年7月24日
下一篇 2022年7月24日

相关推荐

发表回复

登录后才能评论