SQL高级应用--约束三--(CHECK、DEFAULT)

SQL CHECK 约束

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

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

  如果对一个表定义 CHECK 约束,那么次约束会在特定的列中对值进行限制

下面的SQL在表创建时为列 创建CHECK约束

  下面的SQL 在“Persons”表创建时为“Id_P”列创建 CHECK 约束。CHECK 约束规定“Id_P”列必须只包含大于0的整数

  MySQL

CREATE TABLE Persons
(
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CHECK (id_P>0)
)

  SQL Server / Oracle / MS Access

CREATE TABLE Persons
(
    Id_P int NOT NULL CHECK (Id_P>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
(
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT chk_Person CHECK (Id_P>0 AND City=‘Sandnes‘)

  

如果在表已经存在的情况下为列 创建 CHECK约束

  如果在表已经存在的情况下为“Id_P”列创建CHECK约束,请使用下面的SQL

  MySQL / SQL Server / Oracle / MS Access

ALTER TABLE Persons
ADD CHECK (Id_P>0)

  

如果需要命名CHECK 约束,以及为多个列定义 CHECK约束,请用下面的SQL

  MySQL / SQL Server / Oracle / MS Access

ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHEKC(Id_P>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

  

SQL DEFAULT 约束

  DEFAULT 约束用于向列中插入默认值

  如果没有规定其他的值,那么会将默认值添加到所有的新纪录

在表创建时为列创建DEFAULT约束

  下面的SQL 在“Persons”表创建时为“City”列创建DEFAULT约束:

  MySQL / SQL Server / Oracle / MS Access

CREATE TABLE Persons
(
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255) DEFAULT ‘Sandnes‘
)

  通过使用类似 GETDATE() 这样的函数, DEFAULT约束也可以用于插入系统值

CREATE TABLE Orders
(
    Id_O int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    OrderDate date DEFAULT GETDATE()
)

  

在表已经存在的情况下为列创建 DEFAULT约束

  如果在表已经存在的情况下为“City”列创建 DEFAULT约束,请使用下面的SQL:

  MYSQL

ALTER TABLE Persons
ALTER City SET DEFAULT ‘Sandnes‘

  SQL Server / Oracle / MS Access

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT ‘Sandnes‘

  

撤销DEFAULT 约束

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

  MySQL

ALTER TABLE Persons
ALTER City DROP DEFAULT

  SQL Server / Oracle / MS Access

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

  

时间: 2024-10-12 16:27:36

SQL高级应用--约束三--(CHECK、DEFAULT)的相关文章

SQL高级应用--约束(NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT)

一.SQL约束 约束用于限制加入标的数据的类型 可以在创建表的时候规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE语句) 主要探讨以下的几种约束: 1) NOT NULL 2) UNIQUE 3) PRIMARY KEY 4) FOREIGN KEY 5) CHECK 6) DEFAULT 二.SQL NOT NULL 约束 NOT NULL约束强制列不接受 NULL值 NOT NULL约束强制字段始终包含值.这意味着,如果不向字段添加值,就

SQL高级应用--约束二--(PRIMARY KEY、FOREIGN KEY)

四.SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录 主键必须包含唯一的值 主键列不能包含 NULL 值 每个表都应该有一个主键,并且每个表只能有一个主键 下面的SQL 在 Persons 表创建时在 Id_P列创建PRIMARY KEY 约束 MySQL CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255),

SQL 高级教程之约束

SQL 高级教程之约束 2015/5/8/星期五 9:21:40 我们将主要探讨以下几种约束: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT 补充知识: 使用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即 ' ','PRI','UNI','MUL'. 如果Key是空的,那么该列值的可以重复,表示该列没有索引,或者是一个非唯一的复合索引的非前导列: 如果Key是PRI,那么该列是主键的组成部分: 如果Key是

sql 高级 (四)(SQL 约束 (Constraints))

SQL 约束 NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. 区别:每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束. unique  sql  ?unique ?  Constraint   on   create   table(表未被创建) MySql   CREATE TABLE Persons ( Id_P

SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束: MySQL: CREATE TABLE Persons ( Id_P i

码农小汪-SQL 图形界面设计约束,unqiue,check Default Foreign

怎么说呢,这个东西并不是经常的使用,慢慢的记不住怎么玩得啦,网上找的资料,复习复习哈! SQLServer中有五种约束,Primary Key约束.Foreign Key约束.Unique约束.Default约束和Check约束,今天使用SQL 1.Primary Key约束 在表中常有一列或多列的组合,其值能唯一标识表中的每一行. 这样的一列或多列成为表的主键(PrimaryKey).一个表只能有一个主键,而且主键约束中的列不能为空值.只有主键列才能被作为其他表的外键所创建. 创建主键约束可以

postgresql----数据库表的约束----NOT NULL,DEFAULT,CHECK

数据库表有NOT NULL,DEFAULT,CHECK,UNIQUE,PRIMARY KEY,FOREIGN KEY六种约束. 一.NOT NULL ---- 非空约束 NULL表示没有数据,不表示具体的数值,所以在数据库中NULL是不等于NULL的.判断表中的一个单元格是不是NULL使用的是IS NULL或者IS NOT NULL,而不是=NULL或者!=NULL,当一个字段设置NOT NULL约束后,INSERT时必须给该字段赋值,否则拒绝写入.在一些程序语言(如C)查询结果中出现NULL有

11. SQL -- 约束、Check、触发器的执行顺序

让我们看看约束. Check 和触发器在这个过程中的先后顺序,或许能加深些对事务的理解. CREATE TABLE TestTable ( ID         INT    CONSTRAINT PK_TestTable_id PRIMARY KEY, UniqueID   INT    UNIQUE, Number     INT    CHECK (Number >= 10 AND Number<=100), NonNULL    INT    NOT NULL ); CREATE TA

转:访问 Microsoft SQL Server 元数据的三种方法

上海微创软件有限公司 肖桂东 适用读者:Microsoft SQL Server 中.高级用户 元数据简介 元数据 (metadata) 最常见的定义为"有关数据的结构数据",或者再简单一点就是"关于数据的信息",日常生活中的图例.图书馆目录卡和名片等都可以看作是元数据.在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义.比如在管理.维护 SQL Server 或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息:某个数据库中