oracle约束的相关总结
1.约束定义了必须遵循的的用户维护数据一致性和正确性的规则,是强制实现数 据完整性的主要途径。
主键约束(primary key)
唯一性约束(unique)
检查约束(check) 条件的构造
范围 字段 in(集合)
字段 between........and
字段 >=value1 and 字段<=value1
逻辑运算符: and
or
not
困难所在:要求字段符合一定的模式或者叫做模式匹配
[NOT]LIKE(模糊查询也用到它)
check(stuName like 'li_')
like的使用最重要的是要掌握通配符
重点在于patten的构造
1.普通字符
2.通配符:% 代表零个或更多字符的任意字符串
_代表一个字符
[]代表指定范围[a-f]或集合([abcdef])中的任何单个字符
[^]不属于指定范围([a-f])或集合([abcdef])中的任何单个字符
例如: check ( stuName LIKE ' [% ]')
check( stuName LIKE ' 张[%]')
check( stuAge LIKE ' [18-20] ' AND
NOT LIKE ' [^19] '
check( stuAge IN(18-19))
年龄在18-20,但不等于19
3.转义字符
默认约束
外键约束(参照约束)
约束可以在以下两个层次上实施:
列级:用户定义的约束只对表中的一列起作用。
表级:用户定义的约束对表中的多列起作用。
2.约束的创建
(1).创建表的同时,建立约束,使用CREATE TABLE语句创建约束
CREATE TABLE 表名
(
列名 列的数据类型
CONSTRAINT 约束名 约束的类型
......n
)
( 2).表创建后,通过修改来实现约束的添加,使用ALTER TABLE命令
ALTER TABLE 表名
WITH CHECK | WITH NOCHECK
ADD CONSTRAINT 约束名 约束的类型
3.主键约束(PRIMARY KEY)
主键用于唯一地标识表中的每一条记录
可以定义一列或多列为主键
主键列上没有任何两行具有相同值(即重复值)
主键列上也不能为空值
4.唯一性约束(UNIQUE)
唯一性约束用来限制不受主键约束的列上的数据的唯一性,
即表中任意两行在 指定列上都不允许有相同的值。
一个表上可以放置多个唯一性约束
唯一性约束和主键约束的区别:
(1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。
(2).在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在 默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引
5.检查约束(CHECK)
检查约束用来指定某列的可取值的范围。
它通过限制输入到列中的值来强制域的完整性。
6.默认约束(DEFAULT)
默认约束用于给表中的指定列赋予一个常量值(默认值),当向该表插入数据 时如果用户没有明确给出该列的值,SQL Server会自动为该列输入默认值。每 列只能有一个默认约束。
add constraint 名字 default (表达式 Null) for 默认约束的字段名
7.外键约束(FOREIGN KEY)
外键约束用于与其他表(称为参照表)中的列(称为参照列)建立连接。
将参照表中的主键所在列或具有唯一性约束的列包含在另一个表中,这些列就 构成了另一个表的外键。
当参照表中的参照列更新后,外键列也会自动更新, 从而保证两个表之间的 一致性关系。
注意:(1).将“强制外键约束”或"强制用于复制”设置为“是”,能确保任何数据添加、修改或删除操作都不会违背外键关系
(2).将“更新规则”或"删除规则”设置为“无操作”,拒绝更新或删除主键表
将“更新规则”或"删除规则”设置为“层叠”,级联更新或删除从表中相应的所有行
将“更新规则”或"删除规则”设置为“设置空”,将外键表中相对应的外 键值设置为空值NULL
将“更新规则”或"删除规则”设置为“设置默认值”,如果外键表的所有外键列均已定义默 认值,则该列设置为默认值
oracle约束的相关总结相关推荐
- Oracle约数,oracle 约束
约束 ■给约束改为中文名■ alter table 表名 rename constraint 旧名字 to "新名字(中文)"; 一.主键约束 1.为什么要用主键约束 (1)防止出 ...
- ORACLE约束总结
你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本 ...
- oracle约束 关闭,Oracle约束管理脚本
正在看的ORACLE教程是:Oracle约束管理脚本. 作为一个Oracle数据库管理员,会碰到这样的数据库管理需求,停止或者打开当前用户(模式)下所有表的约束条件和触发器.这在数据库的合并以及对数据 ...
- Oracle 10gR2 Psu 相关
Oracle 10gR2 Psu 相关 2011年04月21日 星期四 17:12 2011年4月19号oracle发布了10gR2的又一个psu,即为10.2.0.4.8 (patch号:11724 ...
- oracle默认的优化器,Oracle优化器相关参数设置
oracle优化器相关参数设置 Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Prod ...
- oracle小型机价格内存,案例:IBM aix小型机内存使用太多导致Oracle shared pool 相关lat...
天萃荷净 IBM aix小型机内存使用太多导致Oracle数据库shared pool 相关latch异常 某客户有一服务器,shared pool 相关latch出现异常等待,影响系统性能. 分析结 ...
- oracle数据库的相关认证,全新Oracle数据库认证认证指南
原标题:全新Oracle数据库认证认证指南 关注我们 除了数据库管理员之外,Oracle数据库认证和培训学习路径还能够帮助许多新的职业角色走向成功.如果您选择数据库管理员开始您的职业生涯,那么您面对的 ...
- 默认约束 oracle,ORACLE约束(constraint):对象的强制规定
ORACLE约束(constraint):对象的强制规定 5种约束: NOT NULL 非空 NN UNIQUE 唯一 UK PRIMARY KEY 主键 PK FOREIGN ...
- oracle银行卡号检查约束,oracle约束学习(1)unique和check
有人说,没有索引, 拿什么来保证约束?姑且不论这话的对错,但约束的实现(除了not null),很多都是通过索引来快速定位约束的地方.unique约束会自动建立索引,pk也是.也因此,约束的很多问题总 ...
最新文章
- python的特点和优点-【Python面试】 Python 的特点和优点是什么?
- 怎样才能算是一个好的应用程序?
- linux c ide ssh,VSCode配置远程SSH-IDE
- 如何成批导入数据到 kitten编程猫 类型为列表的变量中
- oracle中ora-02049,ORA-02049 ‘timeout: distributed transaction waiting for lock’ 解决
- java hibernate 包_java – Hibernate映射包
- 一道基础 Java 面试题,但值得很多人反思!
- mac os nginx php mysql
- 如何从超级用户进入非超级用户
- Boot2Docker 安装运行出现客户端与服务端版本不一致的解决办法
- 关于 google 的 Percolator
- 物联网中的密码安全风险
- 恢复Windows10的经典照片查看器
- 如何生成王者荣耀、QQ飞车等游戏“空白名”、“重复名”等特殊名
- 外贸须知:和各国客户做生意需要注意的点
- hazelcast 搭建_使用HazelCast实现Spring Config Server配置
- 密苏里大学理工学院计算机,密苏里大学理工学院
- 判断自己的网络是不是公网IP
- 编辑或删除Word文档脚注中的横线
- 与 CSDN 大咖安晓辉的交流录
热门文章
- 直设计map.html页面,map4.html
- mysql 14.12_[mysql] 14.12 innodb下的 磁盘I/O与文件空间管理方式
- 【HANA系列】SAP HANA XS创建XSJOB后台执行
- PS 滤镜算法原理——染色玻璃
- [模板]fhqTreap
- JavaScript求两点之间相对于Y轴的顺时针旋转角度
- 2015 多校赛 第三场 1002 (hdu 5317)
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(1)读者序】★★★...
- 解决PowerDesigner中Name与Code同步的问题
- Java必备常用操作API