首页 > 其他分享 >约束-外键约束以及级联操作

约束-外键约束以及级联操作

时间:2022-10-17 10:55:23浏览次数:58  
标签:级联 NAME dep age 外键 约束 -- id

CREATE TABLE emp( -- 创建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,'销售部','深圳');
SELECT * FROM emp;-- 查询

约束-外键约束

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

语法:在创建表时,可以添加外键

CREATE TABLE 表名(
    ...
    外键列
    CONSTRAINT 外键名称 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)-- 添加外键约束
);

-----------------------------------------------------------------------------

-- 表的拆分(创建多表)
-- 创建部门表(id,dep_name,dep_location)
CREATE TABLE department(
    id INT PRIMARY KEY AUTO_INCREMENT,
    dep_name VARCHAR(20), -- 部门名称
    dep_location VARCHAR(20) -- 部门地址
);

-- 添加2个部门
INSERT INTO department VALUES(NULL,'研发部','广州'),(NULL,'销售部','广州');

-- 创建员工表(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_id FOREIGN KEY (dep_id) REFERENCES department(id)
);

-- 添加员工,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);

SELECT * FROM employee;-- 查询
SELECT * FROM department;-- 查询

 

2.删除外键约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称; -- 删除外键约束

 

3.在创建表后,添加外键约束

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);-- 创建表后,添加外键约束

 

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

1.添加级联操作

语法:

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

2.分类:

1.级联更新:ON UPDATE CASCADE;

2.级联删除:ON DELETE CASCADE;

 

 注意:级联删除(谨慎使用)

 

标签:级联,NAME,dep,age,外键,约束,--,id
From: https://www.cnblogs.com/qihaokuan/p/16797240.html

相关文章

  • LiveGBS流媒体服务平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包
    LiveGBS流媒体服务平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包​​1、第一步:抓包工具准备​​​​1.1、Linux​​​​1.2、windows​​​​2、第二步:找到级......
  • SQL进阶篇之约束(Constraints)
    SQL约束约束用于限制加入表的数据的类型,可以在创建表时规定约束(通过CREATETABLE语句),或者在表创建之后也可以(通过ALTERTABLE语句)SQL约束主要包括以下几种约束......
  • 约束-主键约束以及主键的自动增长
    约束-主键约束主键约束:primarykey1.注意:1.含义:非空且唯一2.一张表只能有一个字段为主键3.主键就是表中记录的唯一标识2.在创建表时,添加主键约束CREAT......
  • 约束-概念和非空约束以及唯一约束
    约束-概念概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。分类:主键约束:primarykey非空约束:notnull唯一约束:unique 外键约束:foreignkey 约束-非空......
  • 视频融合平台EasyCVR级联小众平台,需要注意什么?
    EasyCVR具备强大的视频接入、汇聚与管理、视频分发等视频能力,可实现的视频功能包括:视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服务器集群、智......
  • 视频融合平台EasyCVR级联小众平台,需要注意什么?
    EasyCVR具备强大的视频接入、汇聚与管理、视频分发等视频能力,可实现的视频功能包括:视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服务器集群、......
  • 主键约束和主键约束自动增长
    主键约束:primarykey。注意:1.含义:非空且唯一2.—张表只能有一个字段为主键3.主键就是表中记录的唯一标识2.在创建表时,添加主键约束createtablestu(idi......
  • 非空约束和唯一约束
    非空约束:我们先来讲一下非空约束是什么意思,他是什么,首先非空大家应该都知道吧所谓非空的意思顾名思义就是这个字段不能是空的,得又数据,约束什么呢?约束就是我们指定这一个......
  • DQL_条件查询_模糊查询和约束_非空约束
    DQL_条件查询_模糊查询:1.where子句后跟条件2.运算符>.<、<=、>=、=、<>BETWEEN...ANDIN(集合)LIKE:模糊查询占位符::单个任意字符%:多个任意字符ISN......
  • 国家省市区四级联动
    后台模拟数据packagecom.ahut.action;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.springframework.we......