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

个体户营业执照可以做网站吗WordPress单拦主题

个体户营业执照可以做网站吗,WordPress单拦主题,安阳网站建设服务,高端建站用什么软件目录 常见约束 常见约束-例子 外键约束 添加或删除外键 添加外键 删除外键 外键的删除/更新行为 外键的删除/更新行为有哪些 指定外键的删除/更新行为-语法 案例 CASCADE(级联)-例子 SET NULL-例子 常见约束 约束:约束是作用于表…

目录

常见约束

常见约束-例子

外键约束

添加或删除外键

添加外键

删除外键

外键的删除/更新行为

外键的删除/更新行为有哪些

指定外键的删除/更新行为-语法

案例

CASCADE(级联)-例子

SET NULL-例子


常见约束

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

约束的作用:约束是用来保证数据库中数据的正确性,有效性,完整性和一致性。

常见的约束:

约束

描述

关键字

非空约束

限制该字段的数据不为NULL

NOT NULL

唯一约束

保证该字段的所有数据都是唯一的,不重复的

UNIQUE

主键约束

主键是一行数据的唯一标识,要求非空且唯一(一个表只能有一个主键字段)

PRIMARY KEY

默认约束

保存数据时,如果未指定该字段的值,则采用默认值

DEFAULT

检查约束(8.0.16版本之后支持)

保证字段值满足某一个条件或多个

CHECK

外键约束

用来让两张表的数据之间建立连接,保证数据的一致性和完整性

FOREIGN KEY

注意:

  1. 约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束
  2. 在MySQL中,注意CHECK要放到最后写
  3. 主键约束要想实现自增,可以加上AUTO_INCREMENT

常见约束-例子

需求:根据下表的要求,完成表结构的创建

用户表user

字段名

字段含义

字段类型

约束条件

id

id(唯一标识)

INT

主键,且自动增长

name

姓名

VARCHAR(10)

不为空,且唯一

age

年龄

INT

大于0,且小于等于120

status

状态

CHAR(1)

如果未指定值,则默认为1

gender

性别

CHAR(1)

注意:

  1. 自动增长的关键字:AUTO_INCREMENT,该字段是自增的,由数据库维护数据,不用插入数据
  2. 代码中,多个约束之间空格分开即可

代码:

CREATE TABLE USER(

    id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'id主键',

    user_name VARCHAR(10) NOT NULL UNIQUE COMMENT '姓名',

    age INT COMMENT '年龄',

    user_status CHAR(1) DEFAULT '1' COMMENT '状态',

    gender CHAR(1) COMMENT '年龄',

    CHECK (age > 0 AND age < 120)

) COMMENT '用户表';

运行后,user表

在user表中插入数据

代码:

INSERT INTO user(user_name, age, user_status, gender)

VALUES('hyh', 23, '1', ''),

      ('hyh2', 43, '0', ''),

      ('hyh3', 21, '0', ''),

      ('hyh4', 18, '1', '');

运行后,user表中数据

注意:id是自增的

外键约束

外键约束:用来让两张表的数据之间建立连接,保证数据的一致性和完整性(通过外键约束来保证数据的一致性和完整性)

添加或删除外键
添加外键

建立外键关联语法-在建立表的时候添加:

CREATE TABLE 表名(

    字段名 数据类型,

    ...

    [CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)

);

建立外键关联语法-有表,额外增加外键关联:

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

示例如下:

有两个表

emp员工表

dept部门表

建立两个表之间的外键关联,emp作为子表,dept作为父表(主表)

代码:

ALTER TABLE emp ADD CONSTRAINT fk_emp_dept_id FOREIGN KEY (dept_id) REFERENCES dept(id);

运行后,我们去删除dept表中的记录,发现不能随意去删除记录了...(因为有个emp表依赖于dept表)

删除外键

删除外键语法:

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

示例如下:

发现emp表中有外键fk_emp_dept_id

删除该外键

ALTER TABLE emp DROP FOREIGN KEY fk_emp_dept_id;

运行后,查看emp建表语句,发现外键已被删除;删除dept表中记录,发现也可成功删除

外键的删除/更新行为
外键的删除/更新行为有哪些

行为

说明

NO ACTION

当在父表(主表)中删除或更新对应记录时,首先应该检查该记录是否有对应的外键记录,如果有,则不允许删除/更新。(与RESTRICT一致)

注意:NO ACTION是外键约束的默认行为

RESTRICT

当在父表(主表)中删除或更新对应记录时,首先应该检查该记录是否有对应的外键记录,如果有,则不允许删除/更新。(与NO ACTION一致)

注意:RESTRICT是外键约束的默认行为

CASCADE

意思是:级联

当在父表(主表)中删除或更新对应记录时,首先应该检查该记录是否有对应的外键记录,如果有,则也删除/更新外键在子表中的记录。

SET NULL

当在父表(主表)中删除对应记录时,首先应该检查该记录是否有对应的外键记录,如果有,则设置子表中对应的外键记录的值为NULL(这就要求该外键允许取NULL)。

SET DEFAULT

当父表(主表)有表更时,子表将外键列设置为一个默认的值(MySQL的默认引擎Innodb不支持)

注意:

NO ACTION和RESTRICT是外键约束的默认行为

指定外键的删除/更新行为-语法

在建立外键约束的同时,指定外键的删除/更新行为:

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

在HEIDISQL中更快捷方便的添加外键行为,如下:

案例

现有两张表,emp表和dept表

emp表数据如下:

dept表数据如下:

CASCADE(级联)-例子

需求:

  1. 在emp表和dept表之间建立外键约束,emp作为子表,dept作为主表(父表),emp表中的dept_id作为外键字段,对应主表dept中的id
  2. 指定外键约束的删除/更新行为,行为为级联:CASCADE

代码:

ALTER ALTER TABLE emp ADD CONSTRAINT fk_emp_dept_id FOREIGN KEY(dept_id) REFERENCES dept(id) ON UPDATE CASCADE ON DELETE CASCADE;

运行后,去更改dept表中的id,发现emp表中的dept_id会跟着更改;如果去删除dept表中的id记录,凡是emp表中有关联的dept_id的记录,一整条都会被删除

SET NULL-例子

需求:

  1. 在emp表和dept表之间建立外键约束,emp作为子表,dept作为主表(父表),emp表中的dept_id作为外键字段,对应主表dept中的id
  2. 指定外键约束的删除/更新行为,行为为:SET NULL

代码:

ALTER TABLE emp ADD CONSTRAINT fk_emp_dept_id FOREIGN KEY(dept_id) REFERENCES dept(id) ON UPDATE SET NULL ON DELETE SET NULL;

运行后,去删除dept表中的id记录,emp表中对应的外键dept_id的值为NULL


文章转载自:

http://1IIutKAE.pdxqk.cn
http://oSSWqPF6.pdxqk.cn
http://XsCoNRJx.pdxqk.cn
http://20UDfYKl.pdxqk.cn
http://scudZqAX.pdxqk.cn
http://RZ6YHvV8.pdxqk.cn
http://w93c2kNL.pdxqk.cn
http://JeGqPZE7.pdxqk.cn
http://zuSFkkaq.pdxqk.cn
http://3C18o96W.pdxqk.cn
http://DfKrxb8j.pdxqk.cn
http://OeFCH5tz.pdxqk.cn
http://ntFWL0nc.pdxqk.cn
http://zk3JJEtH.pdxqk.cn
http://Xh2GztjX.pdxqk.cn
http://ZJzna3xj.pdxqk.cn
http://7I07jZLG.pdxqk.cn
http://AicHdqVe.pdxqk.cn
http://bM04oWw9.pdxqk.cn
http://2VzYTDSR.pdxqk.cn
http://ENF3DLkn.pdxqk.cn
http://0A8v3CvY.pdxqk.cn
http://uTzXMiCr.pdxqk.cn
http://dvZSVMZC.pdxqk.cn
http://vg9ulfQR.pdxqk.cn
http://WvyXHZRi.pdxqk.cn
http://qZFWicu8.pdxqk.cn
http://LmGRdHGW.pdxqk.cn
http://niA9zIx4.pdxqk.cn
http://IZT6bW8j.pdxqk.cn
http://www.dtcms.com/wzjs/754239.html

相关文章:

  • 网站报价怎么做艺考培训学校
  • 哪个网站可以预约做头发的宁夏网站备案
  • 网站建设名词公司装修设计哪家好
  • 自动生成网站地图的工具seo网站推广公司
  • 使用模板建站湘潭新思维网站
  • 人脉做的最好的网站济南网站开发培训班
  • 网站托管哪家公司好华为网络推广方案
  • 网站管理员登陆域名西安网页设计培训班
  • 网站开发算法面试百度搜索排名推广
  • 网业制作与网站建设网站建设前端工具
  • 接网站建设_网站设计seo点击软件手机
  • 公司做一个网站内容如何设计wordpress可视化建站
  • 沈阳网站开发培训价格局网站建设工作征求意见
  • 如何制作旅游网站深圳南山logo设计公司
  • 网站开发技术要求最新手机发布会
  • 重庆招聘网站哪个好网站建设财务上怎么处理
  • 门户网站是指提供什么的网站创意设计
  • 各类网站网站建设的目标是什么意思信阳网
  • 初学者怎么做php网站产品设计作品集欣赏
  • 做酒店的网站无锡做智能网站
  • 云南省建设厅招标办网站网站开发外贸客户
  • 做企业免费网站重庆网站建站系统哪家好
  • 广告公司网站官网蚌埠网站建设蚌埠
  • 当涂城乡建设局的网站广州企业推广
  • 网站备案后 换服务器微信小程序怎么做游戏
  • 免费做调查的网站有哪些wordpress标签页面跳转
  • 百度网站推广价格嵌入式培训班多少钱
  • 做网站的技术路线aso具体优化
  • wordpress后台增加管理页网站优化设计方案
  • 网站国外建设免费只做网站