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

企业网站建设 骆诗设计网站建设类

企业网站建设 骆诗设计,网站建设类,智通东莞人才网,svn教程图文详解 - 青岛网站建设文章目录 1、主键(PRIMARY KEY)1.1. 主键的概念1.2. 主键的使用 2、外键(FOREIGN KEY)2.1. 外键的概念2.2. 外键的使用 3、外键与数据完整性3.1. 数据完整性的概念3.2. 外键的操作与级联规则 4、外键约束的删除与更新4.1. 删除外键…

文章目录

  • 1、主键(PRIMARY KEY)
    • 1.1. 主键的概念
    • 1.2. 主键的使用
  • 2、外键(FOREIGN KEY)
    • 2.1. 外键的概念
    • 2.2. 外键的使用
  • 3、外键与数据完整性
    • 3.1. 数据完整性的概念
    • 3.2. 外键的操作与级联规则
  • 4、外键约束的删除与更新
    • 4.1. 删除外键约束
    • 4.2. 更新外键约束
  • 5、常见问题与技巧
    • 5.1. 外键约束违反错误
  • 6、今日小结

1、主键(PRIMARY KEY)

1.1. 主键的概念

  • 主键 是用于唯一标识表中每一行数据的字段。主键字段的值必须是唯一的,并且不能为空。
  • 每个表只能有 一个主键。
  • 主键通常用于查询、更新和删除操作,确保每条记录的唯一性。

1.2. 主键的使用

  • 在创建表时,可以使用 PRIMARY KEY 约束来定义主键。

  • 可以为单个字段设置主键,也可以使用多个字段(组合主键)来构成主键。

  • 示例:为学生信息表中的学生 ID 字段设置主键

CREATE TABLE student (student_id INT NOT NULL PRIMARY KEY,  -- student_id 作为主键name VARCHAR(100) NOT NULL,age INT,birth_date DATE,gpa DECIMAL(3,2)
);
  • 在此示例中,student_id 是主键,意味着每个学生的 student_id 必须是唯一的,且不能为空。

2、外键(FOREIGN KEY)

2.1. 外键的概念

  • 外键 是一个表中的字段,它链接到另一个表的主键字段,用于表示两个表之间的关系。
  • 外键约束用于确保数据的完整性,确保一个表的字段的值必须在另一个表中存在。

2.2. 外键的使用

  • 外键通常用于表示表之间的父子关系,保证子表中的数据必须在父表中有对应的记录。

  • 使用 FOREIGN KEY 约束时,我们需要指定外键字段和父表的主键字段。

  • 示例:创建一个“成绩表”,将学生 ID 设置为外键,关联到“学生表”

CREATE TABLE grade (grade_id INT NOT NULL PRIMARY KEY,student_id INT,  -- 外键字段subject VARCHAR(100),score DECIMAL(5,2),FOREIGN KEY (student_id) REFERENCES student(student_id)  -- 设定外键关联
);
  • 在这个示例中,grade 表中的student_id字段是外键,它指向student表的student_id字段,确保 grade 表中的学生 ID 必须在 student 表中存在。

3、外键与数据完整性

3.1. 数据完整性的概念

  • 数据完整性指的是数据库中的数据在逻辑上保持一致和有效。
  • 外键约束有助于保持数据的完整性,确保:
    • 参照完整性:在子表中不能出现父表中不存在的记录。
    • 删除/更新的级联:当父表中的数据被删除或更新时,子表中的数据也会相应变化,以保持数据一致性。

3.2. 外键的操作与级联规则

  • 级联删除(ON DELETE CASCADE):如果删除父表中的一行记录,自动删除子表中所有相关的记录。

  • 级联更新(ON UPDATE CASCADE):如果更新父表中的主键字段,自动更新子表中所有相关的外键字段。

  • 示例:级联删除与更新

CREATE TABLE grade (grade_id INT NOT NULL PRIMARY KEY,student_id INT,subject VARCHAR(100),score DECIMAL(5,2),FOREIGN KEY (student_id) REFERENCES student(student_id)ON DELETE CASCADE        -- 级联删除ON UPDATE CASCADE;       -- 级联更新
);
  • 在此示例中,如果删除了某个学生(父表),则 grade 表中所有与该学生相关的成绩记录也会被删除。
  • 如果更新了某个学生的 ID,grade 表中所有相关的记录会自动更新该学生的 ID。

4、外键约束的删除与更新

4.1. 删除外键约束

如果需要删除外键约束,可以使用 ALTER TABLE 来删除外键:

ALTER TABLE grade DROP FOREIGN KEY fk_grade_student;
  • fk_grade_student 是外键约束的名称(可以通过 SHOW CREATE TABLE 查看外键名称)。

4.2. 更新外键约束

外键约束一旦设置,不可以直接修改。如果需要修改,可以先删除旧的外键约束,然后重新添加新的外键约束。

5、常见问题与技巧

5.1. 外键约束违反错误

如果你在向有外键约束的表插入数据时,插入的值在父表中不存在,则会出现如下错误:

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`database`.`grade`, CONSTRAINT `grade_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`))
  • 这种情况通常是由于外键字段的值在父表中没有对应的记录,确保父表中已存在相应的主键记录。

6、今日小结

技能内容
主键(PRIMARY KEY)用于唯一标识每一行记录,保证字段值唯一且不能为空。
外键(FOREIGN KEY)用于表之间的关联,保证子表的外键值在父表中有对应记录。
外键约束的级联操作ON DELETE CASCADE ON UPDATE CASCADE 保证父表数据更新或删除时,子表数据也做相应操作。
数据完整性外键约束帮助保持参照完整性,确保数据的一致性和可靠性。
http://www.dtcms.com/wzjs/578824.html

相关文章:

  • 低价网站制作网站建设需要哪些信息
  • 企业品牌形象设计杭州seo首页优化软件
  • jsp网站开发 心得网站栏目模块
  • 域名怎么和网站绑定湖南建设网塔吊证查询
  • 外贸在线网站建站租车行网站模版
  • 鞍山做网站排名网店网站技术方案
  • 推广网站设计推广方案网络公司什么意思
  • 个人购物网站备案制作wordpress模板教程
  • 婚庆网站怎么设计模板广州抖音seo价格
  • 著名设计师网站有经验的郑州网站建设
  • wordpress全站伪静态南沙网站开发
  • 沧州兼职网站建设WordPress如何去掉文章时间
  • 公主岭网站开发北京终端区优化
  • 长沙网站排名优化搜索引擎优化的五个方面
  • 网站源码绑定域名网站建设的五类成员
  • 太原网站建设 网站制作深圳网站制作建设服务公司
  • 收费下载网站cms网页制作软件是应用软件吗
  • 网站一键提交做国外网站选择vps
  • 一学一做腾讯视频网站百度收录批量查询工具
  • 做营销型网站要多少钱展厅设计ppt优秀案例分析
  • 网站做信息流上海大公司有哪些
  • 自学网站制作教程WordPress中设置域名的数据库在哪
  • 网站流量做那些好wordpress章节分页
  • 长沙精品网站建设公司什么是营销型网站呢
  • 免费在线观看电视剧的网站舟山城乡建设部网站首页
  • 怎样用虚拟空间做网站wordpress收集
  • 湖北工程建设总承包有限公司网站现在注册公司好注册吗
  • 绵阳公司商务网站制作恩施网站设计
  • 2018年网站开发语言四川工程造价信息网官网
  • 黄山做网站公司南宁网页设计培训学校