博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习MySQL(二)数据库各项约束
阅读量:2055 次
发布时间:2019-04-28

本文共 1180 字,大约阅读时间需要 3 分钟。

1.为什么需要数据完整性?

因为有些时候数据有些信息不准确,并不能达到一条有价值的数据。所以制作一些无效的数据是徒劳的,一个好的数据库设计,一定要优先考虑数据的完整性,如果在设计的时候没有考虑数据的完整性,那么等到后面将会耗费很大的精力来进行调整。
2.数据完整性的分类
(一) 实体完整性(Entity Integrity):实体完整性就是实实在在存在的,它规定表的每一行记录在表中是唯一的。实体完整性在表中的约束体现为:主键(Primary Key)约束、唯一(unique)约束。
(二) 域完整性(Domain Integrity):考虑如何限制向表中输入的数值的范围,域完整性的约束有:外键(Foreign key)约束、默认值(Default)约束、非空(Not Null)约束。
(三) 引用完整性(Referential Integrity):指保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系,它涉及两个或两个以上表数据的一致性维护,主要通过外键来进行引用。
(四) 用户自定义完整性(User-defined Integrity):针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
3.主键约束
语法:列名 数据类型 primary key[默认值];
还有一种是在所有列名都已经完成了情况下在外部设置主键的语句
语法:[CONSTRAINT 约束名]PRIMARY KEY (列名)//注意在表外进行语法输入创建
4.自动增长
语法:列名 数据类型 AUTO_INCREMENT
输入好自动增长的语法后,当我们每次添加新纪录时,系统会默认给我们自增;
注意:自动增长语句不能单独使用,必须要在主键的一句内使用,并且数据类型必须是整数类型,而且一个表中只可以存在一个自动增长。
5.非空约束
语法:列名 数据类型 NOT NULL
当输入好非空约束的代码时,这时候被添加的语句的那一列就必须得有数据,不能为空;
6.外键约束
语法:[CONSTRAINT 外键名] FOREIGN KEY 字段名1 REFERENCES 主表名 (主键列1)
当采用外键约束时,从表就可以通过外建来跟主表来进行关联了;
注意:这里的字段名1是从表里建立的列,这个列要跟主表里的主键类型一样;
7.默认约束
语法:字段名 数据类型 default 默认值
当给我们指定的列来设置好默认值的时候,当我们在插入一条新的记录时,没有为这个字段赋值的时候,那么系统会自动给他赋值;
//如果我们指定的是数值类型的话,直接在后面加上数值即可,如果是文本类型的话,则在后面使用单引号‘ ’
8.唯一约束
语法:字段名 数据类型 UNIQUE
当我们给我们指定的列设置了唯一约束的时候,那么这个值则是唯一的,不能出现重复值;

转载地址:http://wjnlf.baihongyu.com/

你可能感兴趣的文章
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
ExecutorService 线程池 newFixedThreadPool newSingleThreadExecutor newCachedThreadPool
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>