当前位置: 首页 > wzjs >正文

网页网站开发设计工作前景wordpress 订阅到

网页网站开发设计工作前景,wordpress 订阅到,软文营销的作用有哪些,建设银行官方网首页文章目录 4、约束4.1 概述4.2 约束演示1. 根据需求,完成表的创建2. SQL数据库3. 结果 4.3 外键约束4.3.1 介绍1. 根据需求,完成表的创建2. SQL数据库3. 结果4.3.2 外键约束建立1. 语法2. SQL语句3. 现象4.3.3 外键删除更新行为1. 知识点2.SQL3.结果 4、约…

文章目录

  • 4、约束
    • 4.1 概述
    • 4.2 约束演示
      • 1. 根据需求,完成表的创建
      • 2. SQL数据库
      • 3. 结果
    • 4.3 外键约束
      • 4.3.1 介绍
      • 1. 根据需求,完成表的创建
      • 2. SQL数据库
      • 3. 结果
      • 4.3.2 外键约束建立
      • 1. 语法
      • 2. SQL语句
      • 3. 现象
      • 4.3.3 外键删除更新行为
      • 1. 知识点
      • 2.SQL
      • 3.结果


4、约束

4.1 概述

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。

目的:保证数据库中数据的正确、有效性和完整性。

以下是常见的约束分类:
在这里插入图片描述

4.2 约束演示

1. 根据需求,完成表的创建

在这里插入图片描述

2. SQL数据库

代码如下(示例):

-- 约束
show databases;
use itcast;
create table tb_user(id int primary key auto_increment comment 'id唯一标识主键',name varchar(10) not null unique comment '姓名',age int check ( age>0 and age<=120 ) comment '年龄',status char(1) default '1' comment '状态',gender char(1) comment '性别'
) comment '员工表';
insert into tb_user(name, age, status, gender)VALUES('Tom1',19,'1','男'),('Tom2',25,'0','男'),('Tom3',19,'1','男')-- 测试名字name字段
insert into tb_user(name, age, status, gender)VALUES(null,19,'1','男');
insert into tb_user(name, age, status, gender)values('Tom3',19,'1','男');-- 测试名字age字段
insert into tb_user(name, age, status, gender)VALUES('Tom4',80,'1','男');
insert into tb_user(name, age, status, gender)VALUES('Tom5',-1,'1','男');
insert into tb_user(name, age, status, gender)values('Tom5',121,'1','男');-- 测试名字status字段
insert into tb_user(name, age, gender)VALUES('Tom5',120,'男');

3. 结果

在这里插入图片描述
在这里插入图片描述
我们是通过编写SQL语句的形式来完成约束的指定,那加入我们是通过图形化界面来创建表结构时,又该如何来指定约束呢? 只需要在创建表的时候,根据我们的需要选择对应的约束即可
在这里插入图片描述

4.3 外键约束

4.3.1 介绍

1. 根据需求,完成表的创建

在这里插入图片描述
在这里插入图片描述

2. SQL数据库

代码如下(示例):

-- 约束(外键)
-- 准备数据
create table dept(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '部门名称'
)comment '部门表';
insert into dept(id, name)VALUES(1,'研发部'),(2,'市场部'),(3,'财务部'),(4,'销售部'),(5,'总经部');create table emp2(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '姓名',age int comment '年龄',job varchar(20) comment '职位',salary int comment '薪资',entrydate date comment '入职时间',managerid int comment '直属领导ID',dept_id int comment '部门ID'
) comment '员工表';insert into emp2(id, name, age, job, salary, entrydate, managerid, dept_id)VALUES(1,'金庸',66,'总裁',20000,'2000-01-01',null,5),(2,'张无忌',20,'项目经理',12500,'2005-12-05',1,1),(3,'杨逍',33,'开发',8400,'2000-11-03',2,1),(4,'韦一笑',48,'开发',11000,'2002-02-05',2,1),(5,'常遇春',43,'开发',10500,'2004-09-07',3,1),(6,'小昭',19,'程序鼓励师',6600,'2004-10-12',2,1);

3. 结果

在这里插入图片描述

在这里插入图片描述
上面是原始的两张表创建的数据,如果删除dept部门表的第一行数据即id=1,研发部,但是我们emp2员工表里面是有id=2-5里面关联到dept=1的研发部,目前上述两张表,只是在逻辑上存在这样一层关系;在数据库层面,并未建立外键关联,所以是无法保证数据的一致性和完整性的。
在这里插入图片描述
结果,我们看到删除成功,而删除成功之后,部门表不存在id为1的部门,而在emp表中还有很多的员工,关联的为id为1的部门,此时就出现了数据的不完整性。 而要想解决这个问题就得通过数据库的外键约束。
在这里插入图片描述

4.3.2 外键约束建立

1. 语法

添加外键语法:

create table 表名(字段名 数据类型,...[constraint]   [外键名称] foreign key(外键字段名) references 主表(主表列名)
);
alter table 表名 add constrain 外键名称 foreign key(外键字段名) references 主表(主表列名);

删除外键语法:

alter table 表名 drop foreign key 外键名称;

2. SQL语句

执行完下述SQL,会发生外键变化,dep_id外键会有个锁在这里插入图片描述
黄色的小钥匙代表主键,蓝色的小钥匙代表外键。

-- 添加外键
alter table emp2 add constraint fk_emp2_dept_id foreign key(dept_id) references dept(id);
-- 约束(外键)
-- 准备数据
create table dept(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '部门名称'
)comment '部门表';
insert into dept(id, name)VALUES(1,'研发部'),(2,'市场部'),(3,'财务部'),(4,'销售部'),(5,'总经部');create table emp2(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '姓名',age int comment '年龄',job varchar(20) comment '职位',salary int comment '薪资',entrydate date comment '入职时间',managerid int comment '直属领导ID',dept_id int comment '部门ID'
) comment '员工表';insert into emp2(id, name, age, job, salary, entrydate, managerid, dept_id)VALUES(1,'金庸',66,'总裁',20000,'2000-01-01',null,5),(2,'张无忌',20,'项目经理',12500,'2005-12-05',1,1),(3,'杨逍',33,'开发',8400,'2000-11-03',2,1),(4,'韦一笑',48,'开发',11000,'2002-02-05',2,1),(5,'常遇春',43,'开发',10500,'2004-09-07',3,1),(6,'小昭',19,'程序鼓励师',6600,'2004-10-12',2,1);-- 添加外键
alter table emp2 add constraint fk_emp2_dept_id foreign key(dept_id) references dept(id);-- 删除外键
alter table emp2 drop foreign key fk_emp2_dept_id;

3. 现象

在这里插入图片描述
此时外键已添加,如果此时删除主表(父表)里面的研发部ID=1,会报错。删除完外键之后,锁又会消失。
在这里插入图片描述

4.3.3 外键删除更新行为

1. 知识点

添加了外键之后,再删除父表数据时产生的约束行为,我们就称为删除/更新行为。具体的删除/更新行
为有以下几种:
在这里插入图片描述

2.SQL

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

3.结果

在这里插入图片描述

-- 外键的删除和更新行为
alter table emp2 add constraint fk_emp2_dept_id foreign key(dept_id) references dept(id)
on update cascade on delete cascade ;

在这里插入图片描述
在这里插入图片描述
如果把父表对应的ID=6的记录删除,如果子表存在外键关联,那么子表对应的数据也会删除。
在这里插入图片描述
在这里插入图片描述
如果删除id为1的数据删除,现在变成NULL。
在这里插入图片描述

在这里插入图片描述


-- 约束
show databases;
use itcast;
create table tb_user(id int primary key auto_increment comment 'id唯一标识主键',name varchar(10) not null unique comment '姓名',age int check ( age>0 and age<=120 ) comment '年龄',status char(1) default '1' comment '状态',gender char(1) comment '性别'
) comment '员工表';
insert into tb_user(name, age, status, gender)VALUES('Tom1',19,'1','男'),('Tom2',25,'0','男'),('Tom3',19,'1','男')-- 测试名字name字段
insert into tb_user(name, age, status, gender)VALUES(null,19,'1','男');
insert into tb_user(name, age, status, gender)values('Tom3',19,'1','男');-- 测试名字age字段
insert into tb_user(name, age, status, gender)VALUES('Tom4',80,'1','男');
insert into tb_user(name, age, status, gender)VALUES('Tom5',-1,'1','男');
insert into tb_user(name, age, status, gender)values('Tom5',121,'1','男');-- 测试名字status字段
insert into tb_user(name, age, gender)VALUES('Tom5',120,'男');-- 约束(外键)
-- 准备数据
create table dept(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '部门名称'
)comment '部门表';
insert into dept(id, name)VALUES(1,'研发部'),(2,'市场部'),(3,'财务部'),(4,'销售部'),(5,'总经部');create table emp2(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '姓名',age int comment '年龄',job varchar(20) comment '职位',salary int comment '薪资',entrydate date comment '入职时间',managerid int comment '直属领导ID',dept_id int comment '部门ID'
) comment '员工表';insert into emp2(id, name, age, job, salary, entrydate, managerid, dept_id)VALUES(1,'金庸',66,'总裁',20000,'2000-01-01',null,5),(2,'张无忌',20,'项目经理',12500,'2005-12-05',1,1),(3,'杨逍',33,'开发',8400,'2000-11-03',2,1),(4,'韦一笑',48,'开发',11000,'2002-02-05',2,1),(5,'常遇春',43,'开发',10500,'2004-09-07',3,1),(6,'小昭',19,'程序鼓励师',6600,'2004-10-12',2,1);-- 添加外键
alter table emp2 add constraint fk_emp2_dept_id foreign key(dept_id) references dept(id);-- 删除外键
alter table emp2 drop foreign key fk_emp2_dept_id;-- 外键的删除和更新行为
alter table emp2 add constraint fk_emp2_dept_id foreign key(dept_id) references dept(id)
on update cascade on delete cascade ;alter table emp2 add constraint fk_emp2_dept_id foreign key(dept_id) references dept(id)
on update set null on delete set null ;
http://www.dtcms.com/wzjs/789893.html

相关文章:

  • 网站下载的网页修改下面版权所有取名网站怎么做
  • 建网站服务器网站 建立目录出错
  • 购物网站配色怎么设计邢台做企业网站
  • 广州工商学院门户网站流量推广平台有哪些
  • 有没有学校需要建设网站服务专业制作网页
  • 网站做app安全吗seo优化方案案例
  • 嘉兴网站建设系统做资源共享网站
  • 男女上做床全播放网站单页营销型网站模板
  • 福州市住房和城乡建设部网站东莞怎么制作网站
  • 网站维护更新免费注册域名邮箱
  • 东软实训网站开发电脑登录不了建设银行网站
  • 上海培训机构白名单新手学做网站优化
  • 南昌县城乡规划建设局官方网站pc网站页面
  • 做付费软件网站合肥电脑网站建站
  • 长沙网站seo收费标准网站备案前置审批 成都
  • php大型网站开发视频教程wordpress统计点击ip
  • 网站开发平台工具国泰君安建设工程官方网站
  • 如何做网站计数器seo优化网站推广
  • 西安医疗网站制作微网站建设
  • 网站推广策略什么时候文创产品设计思路
  • 求购做网站网络营销主要有哪些特点
  • 品牌网站建设切入点深圳设计官网
  • 短裙怎么做视频网站网站开发需要学些什么?
  • 重庆网站平台做百度推广送网站吗
  • 医院做网站指数网站
  • 企业为什么做网站素材jsp网站建设课程设计
  • 哈尔滨做企业网站一舍设计公司
  • 渭南 网站建设网站页头图片
  • 做韦恩图的在线网站网站开发登录要做哪些验证
  • 国外的购物网站有哪些wordpress友情链接页面插件