SQL 约束

摘要:
建完表后,为了使表更完善,查询起来更方便,一般会加上约束,约束可分为三大类第一类:防止同一条数据完全重复一、主关键字约束:主键约束特点:1.能够唯一的区分每一行数据--------不能重复2.表中的数据按照主键字排序的------有序3.主键字不能为空------------------不为空4.一个表只能有一个主键,但可以设置组合主键优点:查询效率较高操作:1、在表的设计界面上选中要设置主键的列

建完表后,为了使表更完善,查询起来更方便,一般会加上约束,约束可分为三大类

第一类:防止同一条数据完全重复

一、主关键字约束:主键约束

特点:

1.能够唯一的区分每一行数据--------不能重复
2.表中的数据按照主键字排序的------有序
3.主键字不能为空------------------不为空
4.一个表只能有一个主键,但可以设置组合主键

优点:查询效率较高

操作:

1、在表的设计界面上选中要设置主键的列

SQL 约束第1张

2、右击设为主键

SQL 约束第2张

二、唯一键约束(侯选建)

特点:

1.不许重,可以为空
2.可以有多个唯一键
3.唯一键不自动排序

操作:

1、在表的设计界面上选中要设置侯选建的列

SQL 约束第3张

2、右击'索引/键'

SQL 约束第4张

3、在弹出的窗口上的左下角点击'添加'

SQL 约束第5张

4、在右侧的属性列表中修改类型----唯一键,设置列

SQL 约束第6张

三、自增长列(标识列,Identity列)

特点:

1.不能手动向里面填值,如果要写insert语句的话,则语句应当把这一列忽略
2.自增长列主要用于整型、长整型,Decimal类型
3.不要随便把自增长列作为主键

操作:

1、在表的设计界面中,选中要设为的自增长列

SQL 约束第7张

2、在设计界面的下面的属性面板中的‘标识规范’中选择‘是’

SQL 约束第8张

第二类:防止有些该填的没有填

一、非空约束

特点:不能为NULL

操作:

把表的设计界面中的‘允许NULL值’中的复选框去掉

SQL 约束第9张

二、默认值

特点:如果不给列赋值的话,会使用默认值填上

操作:

1、在标的设计界面中,选中要使用默认值的列

SQL 约束第10张

2、在设计界面的下面的属性面板中,设置默认值

SQL 约束第11张

第三类:防止乱填

一、Check约束

特点:按照某种规则对数据进行检查

操作:

1、在表的设计界面中选中要使用Check约束的列

SQL 约束第12张

2、右击,选择‘Check 约束’

SQL 约束第13张

3、在弹出的对话框中点击左下角的添加,设置约束的名称和表达式

SQL 约束第14张

二、外键约束(主表,从表)

特点:

1、主表是用来约束从表的,外键应当建在从表上

2、使用主表的主键来约束从表外键

3、从表中的外键列是不能随便乱填内容的,它只能填写主表主键中存在的数据

4、一旦建立起外键关系,从表的外键列不能乱填,主表中的主键列也不嗯呢该乱删乱改数据

其中常用的一个设置是级联删除

级联删除的设置:

1、先建好主表,在从表的设计界面上,右击‘关系’

SQL 约束第15张

2、在弹出的对话框中选择‘添加’

SQL 约束第16张

3、在右边的属性列表中设‘表和列的规范’

SQL 约束第17张

三、数据类型

数据类型可以约束填写的数据

免责声明:文章转载自《SQL 约束》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS日常维护及常用脚本Linux C/C++编程之(十七)进程间通信下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 数据库dataGridView刷新数据和主外键判断

本文主要讲诉在使用VS2012+SQL Server数据库做系统中,通常会遇到几个问题.使用dataGridView控件在修改、删除、插入数据后,怎样刷新数据显示操作后的结果.同时在对数据操作时通常会判断数据的主键是否存在或重复,判断外键是否重复,这几个问题我推荐使用函数的形式完成,同时推荐一个操作格式,下面将详细介绍. 一.dataGridView刷新数...

报错:无法截断表 '某表',因为该表正由 FOREIGN KEY 约束引用

某表的某个字段作为另一个表的FOREIGN KEY,在truncate另外一个表后,再truncate某表,就报如上的错。 解决方法: → 删除另外一个表的外键 IF OBJECT_ID(N'[dbo].[外键]', 'F') IS NOT NULL ALTER TABLE [dbo].[另外一个表] DROP CONSTRAINT [外键];...

外键关联的修改 级联 修改表行记录的操作

外键关联的修改 ​ 场景: book表和publish表为多对一关系, book表的pid字段外键关联到了publish表的id字段 查看外键关系 show create table 表名; 删除外键关系 alter table book drop foreign key book_ibfk_1(外键名称) 删除字段 alter table publi...

SQL外键

外键:外键是用来再两个表的数据之间建立连接,他可以是一列也可以是多列。一个表中可以有一个或多个外键。 一个表的外键可以是空值,若不为空值,则每一个外键值必须等于另外一个表中的主键的某个值。 外键是一个表中的字段,他可以不是本表中的主键,但对应另外一个表的主键,外键的作用是保证数据引用的完整性。 定义完外键后,不允许删除在另一表中具有关联的行。列如:部门表t...

EF里单个实体的增查改删以及主从表关联数据的各种增删改查

本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据、增加主从表数据) 查询(查询导航属性为集合、查询导航属性为单个对象) 修改(修改从表的外键) 删除(删除主从表关系、删除主表数据、删除主从表数据、修改从表数据外键) 补充内容 SaveChang...

navicat如何设置外键

今天上午刚刚弄明白了在navicatformysql上如何设置外键,现在分享出来,希望能够对大家有帮助。 先介绍一下基本情况。现在有两个表一张是teacher表一张是dept表,现在我想把teacher表中的dept属性设置为外键,关联dept表中的code属性。具体情况如图;好了,基本情况介绍完毕,现在开始教你们navicatformysql怎么设置外...