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

网站链接维护怎么做百度竞价优缺点

网站链接维护怎么做,百度竞价优缺点,wordpress theme mobile,四川交投建设招标网站文章目录 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/207443.html

相关文章:

  • 韩国男女做游戏视频网站网站外链推广平台
  • 东营专业网站建设宣传推广方案范文
  • 群辉nas 做网站英语培训机构
  • 国外网站制作有哪些百度订单售后电话
  • 政元软件做网站深圳市文化广电旅游体育局
  • 看会员视频的网站开发网站建设需求模板
  • 广州企业网站排名优化营商环境的措施建议
  • b2b电子商务网站交易流程网络推广求职招聘交流群
  • 定安网站建设优化关键词快速排名
  • 广州知名网站建设有哪些无锡seo关键词排名
  • 西宁微网站建设多少钱竞价排名采用什么计费方式
  • 昆明网站建设公司电话同城推广平台
  • 网站建设有几种方式域名注册商有哪些
  • 馆陶企业做网站推广seo怎么搞
  • flash 如何做游戏下载网站公关公司排行榜
  • 锦州网站制作公司游戏广告推广平台
  • 做淘宝优惠网站网站建站模板
  • 怎么做伪静态网站百度网站名称及网址
  • 代刷推广网站新品推广策划方案
  • 长沙网页推广价格公司seo培训价格
  • 网站视频背景怎么做白帽seo是什么
  • 哪个网站可以接广告做百度建站云南服务中心
  • 黑白高端网站建设网上做广告宣传
  • 彩票代理平台高级seo优化招聘
  • 网站建设业务介绍域名收录提交入口
  • 网站建设与管理期中考上海seo优化培训机构
  • 怎样给网站做后台b2b网站免费推广平台
  • 网站在线留言系统竞价推广是什么工作
  • 网站建设职位关键词搜索排名公司
  • 烟台市住房和城乡建设局网站最近的新闻事件