SQL CHECK 约束

SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。

CREATE TABLE 时的 SQL CHECK 约束

下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 CHECK 约束。CHECK 约束规定 "P_Id" 列必须只包含大于 0 的整数。

MySQL:

CREATE TABLE Persons

(

P_Id int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (P_Id>0)

)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

P_Id int NOT NULL CHECK (P_Id>0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

P_Id int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')

)

ALTER TABLE 时的 SQL CHECK 约束

当表已被创建时,如需在 "P_Id" 列创建 CHECK 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CHECK (P_Id>0)

如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')

撤销 CHECK 约束

如需撤销 CHECK 约束,请使用下面的 SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons

DROP CHECK chk_Person

Oracle表字段check语句,sql语句大全之SQL CHECK 约束相关推荐

  1. 在Oracle中exception关键字,Oracle表字段有Oracle关键字出现异常解决方案

    一.问题由来 现在进行项目改造,数据库需要迁移,由原来的使用GBase数据库改为使用Oracle数据库,今天测试人员在测试时后台报了一个异常. 把SQL语句单独复制出来进行查询,还是报错,仔细分析原因 ...

  2. oracle数据库的表中添加表字段和删除表字段

    添加Oracle表字段 alter table <table_name> add <column_name> <数据类型和约束条件>; 删除Oracle表字段 al ...

  3. SQL:SQL 指令大全

    SQL:SQL 指令大全 目录 SQL指令 SELECT DISTINCT WHERE AND OR IN BETWEEN LIKE ORDER BY 函数 COUNT GROUP BY HAVING ...

  4. linux oracle 创建表空间2016,Linux下Oracle表空间及用户创建

    记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@i ...

  5. oracle系统表空间不足,oracle表空间不足相关问题解决办法

    oracle 临时表空间和数据表空间 Oracle临时表空间主要用来做查询和存放一些缓冲区数据.临时表空间消耗的主要原因是需要对查询的中间结果进行排序.重启数据库可以释放临时表空间,如果不能重启实例, ...

  6. oracle字段换名语句,修改表名的sql语句

    sql语句 能不能修改表名 可以. SQL自带了一系列的系统存储过程.其中sp_rename就具有修改表名和列名的功能.对于sp_rename是这样定义的:更改当前数据库中用户创建对象(如表.列或用户 ...

  7. 关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题. 用navicat可视化创建了表,可是就是不能查到! 后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引号就可以 ...

  8. Oracle查询所有序列;[oracle中如何创建表的自增ID(通过序列);oracle sql语句大全

    Oracle查询所有序列 oracle sql语句大全 oracle中如何创建表的自增ID(通过序列)

  9. 关于oracle sql语句查询时表名和字段名要加双引号的问题详解

    转自:http://www.2cto.com/database/201504/387184.html 作为oracle的初学者相信大家一定会遇到这个问题,如图: 明明就是navicat可视化创建了表, ...

最新文章

  1. 完全免费,简化版Plotly推出,秒绘各类可视化图表
  2. Java多线程(九)—— interrupt()和线程终止方式
  3. ZooKeeper快速搭建
  4. 单片机while用法c语言例子,51单片机-C语言之while(!x)的理解
  5. 天气预报接口和城市代码
  6. 五一好礼70份免费送:示波器、开发板、焊台等!
  7. haproxy+keepalived实现高可用K8S集群部署
  8. wxWindows 第一个Frame程序
  9. 北理c语言乐学作业分数运算,北理乐学C语言答案-最新(12页)-原创力文档
  10. python量化交易通达信_分享一个可以实战的量化交易策略(适用于通达信系统)...
  11. 易语言WebUI教程 —— 入门简介
  12. 转. Dynamics AX 20年简史
  13. 花两个月吃透京东T8推荐的178页京东基础架构建设之路,入职定T5
  14. oracle 优化方法总结
  15. 计算机更换桌面背景的步骤,怎么更换电脑桌面背景图片
  16. 在 Win10系统,所有程序默认都以管理员身份运行
  17. 毕业季:我和未来有个对话
  18. 公众号 自动生成海报 python_Python 生成公众号头图 1.0
  19. 前端浏览器窗口直接展示pdf文件
  20. 应届毕业生工作7个月小结

热门文章

  1. rhel8安装Vmware15.1
  2. linux下载sra数据库,linux下使用Aspera Connect下载sra数据
  3. linux下sed编辑器的使用详解
  4. Dentalis Animal Health任命顾问委员会
  5. swift ~ 2020年 swift面试题
  6. (C语言网)那些让你起飞的计算机基础知识:学什么,怎么学?
  7. LVI-SAM imageProjection代码解析
  8. PowerCenter——Aggregator组件
  9. Conda错误:Collecting package metadata (current_repodata.json): failed
  10. jQueryのイベントをチュートリアルで学ぶ(後編)