SQL语句的约束条件,是为了保证表中存储数据的完整性。

数据完整性分为三类:

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

实体:表中每一条数据都是一个实体(entity)。

分为三种类型:主键约束、唯一约束、自动增长。

1、主键约束(primary key):数据唯一,且不为空。

创建表时直接添加在值后加约束

单一约束:create table 表名( 列名1 列值1 primary key,...);

联合约束:create table 表名(列名1 列值1, 列名2 列值2, .... 列名n 列值n,  primary key(列名1,列名2); )

创建表后,补充约束alter table 表名 add primary key(列名1);

删除约束:alter table 表名 drop primary key;

2、唯一约束(unique):数据唯一,可以为null。

添加约束:create table 表名( 列名1 列值1 约束条件,列名2 列值2 unique, ....)

后期追加: alter table 表名 add unique(列名);

3、自动增长(auto_increment(MySQL),identity(SQLServer),sequence(oracle)):数据必须为整型,被删除行不影响后续自增数。

域完整性:限制此单元格的数据正确 不对照此列的其他单元格

1、数据类型约束。

2、非空约束:not null。

alter table 表名 modify 字段名 字段类型 not null;

3、默认值约束:default。

添加约束:create table 表名( 列名1 列值1 约束,列名2 列值2 约束 default 默认值,  ....  )

alter table 表名 alter 列名 set default 默认值;

引用完整性:约束表与表之间的关系,外键约束foreign key。

建立外键约束,首先确定表的主从关系,外键约束加在从表上,相应列应是同样的数据类型,必须建立索引外键主键,外键可以重复也可以为null值。

创建外键:建表的同时添加:constraint 外键关系名 foreign key(从表的字段) references 主表名(主表的字段),添加到列名后单独一行。

后期追加:alter table 主表 add primary key(主表列名)

alter table 从表 add foreign key(从表列名) references 主表(主表列名)

删除外键关联:alter table 表名 drop foreign key 外键关系名。

注意:

1.在从表中添加数据时,外键关联列中存储的数据必须是主表中存在的数据
   2.想要删除主表中正在被从表使用的行,必须先在从表删除,再删除主表

SQL语句的约束条件相关推荐

  1. 3 - SQL Server 2008 之 使用SQL语句删除约束条件

    基本语法为: ALTER TABLE 表名 DROP CONSTRAINT 约束名1,约束名2-- 如果删除一个约束,不需要逗号后的约束名,如果删除两个及两个以上的约束,必须以逗号隔开. 使用上一节中 ...

  2. 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表

    SQL语句创建和删除基本表 1. 编写6个基本表 2. 修改基本表结构,完整性约束条件 3. 用Drop table 语句删除基本表 1. 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系 ...

  3. 命令行客户端MySQL基本命令的使用(登录、登出、数据库操作的SQL语句、表结构的SQL语句、表数据操作的SQL语句)

    1. 登录和登出数据库 登录数据库: 输入下面命令: mysql -uroot -p 说明: -u 后面是登录的用户名  [写成-u root也是可以的] -p 后面是登录密码, 如果不填写, 回车之 ...

  4. access 导入 txt sql语句_从零开始学习 MySQL 系列索引、视图、导入和导出

    阅读本文大概需要 8 分钟 前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识.作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会 ...

  5. 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...

  6. MySQL学习【第五篇SQL语句上】

    一.mysql命令 1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql ...

  7. 数据库逻辑删除的sql语句_SQL查询优化的数据库设计和逻辑断言

    数据库逻辑删除的sql语句 Database design and Logical Asseveration play a vital role in database performance and ...

  8. 数据库入门-基本sql语句及数据类型

    一.基本sql语句 SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发.SQL语言分为3种类型: #1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存 ...

  9. SQL语句的一些重要操作

    SQL语句的一些操作 1.定义模式 例3.3 为用户ZHANG创建一个模式TEST,并且在其中定义一个表TAB1. CREATE SCHEMA TEST AUTHORIZATION ZHANG CRE ...

最新文章

  1. sqlserver查询当月的每一天_SQLServer 查询最近一天,三天,一周,一月,一季度数据的方法...
  2. Linux - 系统 - 基础操作
  3. 台式电脑耳机插孔在哪_不到一千元的迷你电脑究竟如何?Intel NUC7CJYH测评来了...
  4. 图解算法学习笔记(目录)
  5. 设计模式11---组合模式(Composite Pattern)
  6. chrome自动提交文件_收集文档及提交名单统计
  7. win10 x64下安装oracle 12c出现[INS-30131]报错的解决方案
  8. 450g吐司烘烤温度_这不可能是吐司!不,是的
  9. Python Tricks(三)—— 计算误分率
  10. 46.贪心算法练习:  区间合并
  11. python十折交叉验证
  12. houdini pyro
  13. 01-交换机级联实验
  14. 谷歌招聘 变态15题你会做几道?
  15. 【整理】EFI/UEFI BIOS 入门 : All For Beginners
  16. python strip( )函数
  17. 一个登录的自动化测试用例(新手)
  18. 数据分析师只适合男生吗,女生可不可以胜任?
  19. 跟风式、炒作式、跨业式三类创业者最容易挂掉
  20. 国外调查问卷可以赚钱吗?

热门文章

  1. 离散数学知识点【复试】
  2. 学习 Civil 3D二次开发从哪儿开始?
  3. Apache ShardingSphere 毕业成为 Apache 顶级项目,系业界首个 Apache 分布式数据库中间件项目
  4. sql数据库连接:用户‘sa’登录失败问题破解(百度加个人总结)
  5. 专家:闽新增11家A级物流企业多受益“信息快车”
  6. 实现banner模块
  7. 先照顾好自己,才能更好的去照顾别人
  8. Element UI 多选搜索实现拼音匹配
  9. 数据结构练习题――Hero In Maze 简单版
  10. 务实了,才能点亮生活