SQL语句的约束条件
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语句的约束条件相关推荐
- 3 - SQL Server 2008 之 使用SQL语句删除约束条件
基本语法为: ALTER TABLE 表名 DROP CONSTRAINT 约束名1,约束名2-- 如果删除一个约束,不需要逗号后的约束名,如果删除两个及两个以上的约束,必须以逗号隔开. 使用上一节中 ...
- 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表
SQL语句创建和删除基本表 1. 编写6个基本表 2. 修改基本表结构,完整性约束条件 3. 用Drop table 语句删除基本表 1. 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系 ...
- 命令行客户端MySQL基本命令的使用(登录、登出、数据库操作的SQL语句、表结构的SQL语句、表数据操作的SQL语句)
1. 登录和登出数据库 登录数据库: 输入下面命令: mysql -uroot -p 说明: -u 后面是登录的用户名 [写成-u root也是可以的] -p 后面是登录密码, 如果不填写, 回车之 ...
- access 导入 txt sql语句_从零开始学习 MySQL 系列索引、视图、导入和导出
阅读本文大概需要 8 分钟 前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识.作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会 ...
- 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...
- MySQL学习【第五篇SQL语句上】
一.mysql命令 1.连接服务端命令 1.mysql -uroot -p123 -h127.0.0.1 2.mysql -uroot -p123 -S /tmp/mysql.sock 3.mysql ...
- 数据库逻辑删除的sql语句_SQL查询优化的数据库设计和逻辑断言
数据库逻辑删除的sql语句 Database design and Logical Asseveration play a vital role in database performance and ...
- 数据库入门-基本sql语句及数据类型
一.基本sql语句 SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发.SQL语言分为3种类型: #1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存 ...
- SQL语句的一些重要操作
SQL语句的一些操作 1.定义模式 例3.3 为用户ZHANG创建一个模式TEST,并且在其中定义一个表TAB1. CREATE SCHEMA TEST AUTHORIZATION ZHANG CRE ...
最新文章
- sqlserver查询当月的每一天_SQLServer 查询最近一天,三天,一周,一月,一季度数据的方法...
- Linux - 系统 - 基础操作
- 台式电脑耳机插孔在哪_不到一千元的迷你电脑究竟如何?Intel NUC7CJYH测评来了...
- 图解算法学习笔记(目录)
- 设计模式11---组合模式(Composite Pattern)
- chrome自动提交文件_收集文档及提交名单统计
- win10 x64下安装oracle 12c出现[INS-30131]报错的解决方案
- 450g吐司烘烤温度_这不可能是吐司!不,是的
- Python Tricks(三)—— 计算误分率
- 46.贪心算法练习: 区间合并
- python十折交叉验证
- houdini pyro
- 01-交换机级联实验
- 谷歌招聘 变态15题你会做几道?
- 【整理】EFI/UEFI BIOS 入门 : All For Beginners
- python strip( )函数
- 一个登录的自动化测试用例(新手)
- 数据分析师只适合男生吗,女生可不可以胜任?
- 跟风式、炒作式、跨业式三类创业者最容易挂掉
- 国外调查问卷可以赚钱吗?