数据的完整性「终于解决」

数据的完整性「终于解决」10.1什么是数据完整性 作用:保证 用户的输入的数据 保存到数据库 是正确的 比如: 年龄:应该是数字, 学号:应该是不重复的 成绩:不能为空 。 。&#16

数据的完整性

10.1什么是数据完整性

作用:保证 用户的输入的数据 保存到数据库 是正确的

比如:

年龄:应该是数字,

学号:应该是不重复的

成绩:不能为空

  

怎么去保证数据的完整性:添加约束。

完整性约束分类:

实体(记录)完整性

域完整性、

引用完整性

10.2实体完整性(行)

实体(entity):就是表中一行的(记录)数据

实体完整性:标识 每一条数据不重复

约束类型(通过什么方式解决这个问题)

主键约束(primary key)

不能为空,不重复

 

唯一约束(unique

不重复,可以为空

 

自增长列(auto_increment)

序号自己会改变

10.2.1主键约束(primary key

特点:不能为空,不重复

##没有约束

create table stu0(

id int,

name varchar(50)

);

insert into stu0(name) values(“张三丰“);

##方式一:创建表,并且添加主键约束

create table stu1(

id int primary key,

name varchar(50)

)

##方式二:

create table stu2(

id int,

name varchar(50),

primary key(id,name)

)

 

成功:insert into stu1(id,name) value(2,”张三丰“);#成功

 

测试一:insert into stu1(id,name) value(null,”张三丰“); #失败。提示不能为空

ERROR 1048 (23000): Column “id” cannot be null

测试二:

插入重复数据:报错

Duplicate entry “2” for key “PRIMARY”

select * from stu1;

10.2.2唯一的约束(unique

不重复,可以为空

##唯一约束(unique

##不重复,可以为空

##给名字 添加 唯一的 约束

 

create table stu3(

id int primary key,

name varchar(50) unique

)

 

insert into stu3(id,name) value(1,”张三丰“);

 

insert into stu3(id,name) value(2,”张三丰“);

ERROR 1062(23000): Duplicate entry “张三丰” for key “name”

 

insert into stu3(id,name) value(2,”张三“);

10.2.3自增长列(auto_increment

##实现,用户的学号,自动增长

create table stu4(

id int primary key auto_increment

name varchar(50)

)

 

##插入数据

insert into stu4(name) value(“zsf”);

insert into stu4(name) value(“ls”);

 

10.3域完整性(单元格,字段)

域完整性:用来限制单元格的数据的正确性

性别:只能填写 /

名字:必须填写,非空

域完整性包含:

数据类型

非空约束(not null)

默认值约束(default)

10.3.1数据类型

 

10.3.2非空约束(not null

##创建表,名字name字段非空

create table stu5(

id int primary key,

name varchar(50)not null,

sex varchar(10)

)

 

##成功

insert into stu5(id,name,sex) values(1,”zsf”,”“);

insert into stu5(id,name,sex) values(2,null,”“);

ERROR 1048(23000): Column “name” cannot be null

insert into stu5(id,name,sex) values(2,”zz”,null);

10.3.3默认值约束(default

值没给,就使用默认值

create table stu6(

id int primary key,

name varchar(50) not null,

sex varchar(10) default”

);

查看表结构

desc stu6;

insert into stu6(id,name,sex) values(1,”zsf”,”“);

insert into stu6(id,name) values(2,”zsf”);

查询结构:

select * from stu6;

10.4引用完整性

主外键的关系,2个表之间建立关系之后,他们的删除更新操作都是受影响的

###引用完整性

学生表

id

名字

性别

 

学生表

id

学生ID

成绩

 

create table stu7(

id int primary key,

name varchar(50)

)

create table score(

id int primary key,

sid int,

score double,

constraint aa foreign key (sid) references stu7(id)

)

 

 

insert into stu7(id,name) values(1,”zsf”);

insert into score(id,sid,score) values(1,2,90);

 

ERROR 1452 (23000): Cannot add or update a child 

row: a foreign key constraint fails (`db_0402`.`score`, 

CONSTRAINT `aa` FOREIGN KEY (`sid`) REFERENCES `stu7` (`id`))

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6375.html

(0)
上一篇 2023-04-11
下一篇 2023-04-11

相关推荐

  • SQL Server使用脚本实现自动备份

    SQL Server使用脚本实现自动备份因服务器安装的SQL Server版本不支持自动定时备份,需自行实现,大概思路为: 创建备份数据库的脚本 创建批处理脚本执行步骤一中的脚本 创建Windows定时任务执行步骤二中的脚本 1. 创建SQ

    2023-04-10
    182
  • 使用 Docker 搭建 RabbitMQ

    使用 Docker 搭建 RabbitMQcompose file 15672 是 Web 管理页面的端口:http://localhost:15672/

    2023-02-17
    163
  • Python filter()函数用法

    Python filter()函数用法
    Python是一种高级编程语言,具有简洁、易读、易于学习和理解的特点。而其中一种非常有用的函数就是filter()函数。在Python中,filter()函数用于从Python列表中过滤具有特定标准的元素,并在新列表中返回它们。本文将详细介绍Python中filter()函数的用法及其示例。

    2024-04-28
    67
  • 从一条数据说起——InnoDB行存储数据结构「终于解决」

    从一条数据说起——InnoDB行存储数据结构「终于解决」本篇博客参考掘金小册—— "MySQL 是怎样运行的:从根儿上理解 MySQL" 先给大家讲一个故事,我刚参加工作,在一个小作坊里面当【码畜】(尽管现在也是),有一天老板从我背后走

    2023-02-25
    140
  • rediscluster配置详解_redis集群配置

    rediscluster配置详解_redis集群配置[TOC] RedisCluster 集群快速入门备忘 PS : 该教程基于Redis5.0+ Redis cluster集群需要注意: 可以线性扩张到1000个节点 节点使用P2P而非Proxy方…

    2023-01-28
    157
  • Python 缩进与代码风格

    Python 缩进与代码风格在 Python 中,缩进并不仅仅是代码的排版而已,实际上,它是 Python 中非常重要的一个语法规则,好的代码风格使代码更容易被理解和维护,也是 Python 社区一直所推崇的。

    2024-06-20
    55
  • Python编程中轴:理解和使用单选按钮

    Python编程中轴:理解和使用单选按钮Python是一种易学易用的编程语言,它的语法简单易懂,而且能够快速地在不同的平台上运行。单选按钮是常见的用户界面元素,在Python编程中,它们被广泛地使用。在本文中,我们将深入探讨单选按钮的原理和用法。

    2024-03-03
    87
  • MySQL 卸载与安装[亲测有效]

    MySQL 卸载与安装[亲测有效]MySQL 卸载与安装 以Windows10操作系统为例: 一、 先看看如何卸载 1、首先,停止window的MySQL服务,【windows键+R 】打开运行框,输入【services.msc】打开

    2023-05-04
    151

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注