精华内容
下载资源
问答
  • 关键字约束与唯一性约束之间有两大差别。1、 主关键字与外部关键字一起用来实施参考完整性,而唯一性约束则不是。2、 唯一性约束允许字段中插入NULL(空白)值,而主关键字则不允许NULL值。两者作用是相同的,都是...

    主关键字约束与唯一性约束之间有两大差别。

    1、 主关键字与外部关键字一起用来实施参考完整性,而唯一性约束则不是。

    2、 唯一性约束允许字段中插入NULL(空白)值,而主关键字则不允许NULL值。

    两者作用是相同的,都是保证字段中插入惟一性数据。

    当需要保证主关键字以外的字段无重复时,应该使用惟一性约束。 

    展开全文
  • (二).约束关键字,约束课堂SQL

    千次阅读 2018-12-27 19:22:25
    constraint 约束 PRIMARY 主要的 UNIQUE 独一无二的 ...约束就是为了完成数据库中数据的完整与一致的一种检查机制 通过定义在数据库中的表来完成约束条件 有哪些约束? 主键约束 PRIMARY KEY ...
    constraint     约束
    PRIMARY     主要的
    UNIQUE      独一无二的	
    CHECK		    检查,核对
    FOREIGN     外交的
    KEY	关键字
    REFERENCES  把...引做参考
    

    约束

    什么是约束?

    约束就是为了完成数据库中数据的完整性与一致性的一种检查机制
    通过定义在数据库中的表来完成约束条件

    有哪些约束?

    • 主键约束 PRIMARY KEY 唯一加非空

    –作用:识别一个行
    –要求:在给一个列建立主键时不能重复不能为空

     注意:推荐使用无意义且有序的数字作为主键,例如1,2,3,4....一张表只能有一个主键
    
    SELECT * FROM STUDENT;
    

    建表后加上主键约束

    ALTER TABLE STUDENT ADD CONSTRAINT PK_STU_ID PRIMARY KEY (ST_ID);
    

    更新主键使其符合约束条件

    UPDATE STUDENT SET ST_ID=7 WHERE ST_NAME ='娜娜';
    
    INSERT INTO STUDENT(ST_ID) VALUES(8);
    
    CREATE TABLE T_USER(
       T_ID NUMBER(4), --PRIMARY KEY,--CONSTRAINT PK_USER_ID PRIMARY KEY,--行级定义
       T_NAME VARCHAR2(20),
       CONSTRAINT PK_USER_ID PRIMARY KEY(T_ID)  --表级定义
    )
    
    SELECT * FROM T_USER;
    

    2.唯一约束 UNIQUE

    作用:确保被指定的字段每行数据不重复,可以为空
    建表后创建

    ALTER TABLE STUDENT ADD CONSTRAINT UN_STU_NAME UNIQUE(ST_NAME);
    

    建表时创建

    CREATE TABLE T_USER(
       T_ID NUMBER(4),
       T_NAME VARCHAR2(20),--UNIQUE,  CONSTRAINT UN_USER_NAME UNIQUE 行级定义
       CONSTRAINT UN_USER_ID UNIQUE(ST_NAME)  --表级定义
    )
    

    3.非空约束

    作用:指定字段必填

    建表后创建

    ALTER TABLE STUDENT MODIFY ST_NAME NOT NULL;
    

    建表时创建

    CREATE TABLE T_USER(
       T_ID NUMBER(4),
       T_NAME VARCHAR2(20) NOT NULL
    )
    

    4.检查约束(自定义约束) CHECK

    –作用:

    建表后创建

    ALTER TABLE STUDENT ADD CONSTRAINT CK_STU_SEX
    CHECK(((ST_SEX='男') OR (ST_SEX='女')) AND (ST_SEX IS NOT NULL));
    

    建表时创建

    CREATE TABLE T_USER(
       T_ID NUMBER(4),
       T_NAME VARCHAR2(20) CHECK(T_NAME='小王子')
        )
    

    5.外键约束 FOREIGN KEY

    作用:用来强制两个表关系,该约束要求定义外键中的每个值必须与引用键相匹配
    外键:从表中引用主表中的引用键的列
    引用键:被外键引用的主键或者唯一键

    CREATE TABLE T_CLASS(
       C_ID NUMBER(5),
       C_NO NUMBER(5),
       C_TEACHER VARCHAR2(20)
    )
    

    建唯一键

    ALTER TABLE T_CLASS ADD CONSTRAINT UN_CLASS_CNO UNIQUE(C_NO);
    
    INSERT INTO T_CLASS VALUES(1,1809,'梁辰');
    INSERT INTO T_CLASS VALUES(2,1810,'惊蛰');
    
    CREATE TABLE T_STU(
       S_ID NUMBER(5),
       S_NAME VARCHAR2(20),
       C_NO NUMBER(5)
    )
    

    定义外键

    ALTER TABLE T_STU ADD CONSTRAINT FK_STU_CNO
    FOREIGN KEY (C_NO) REFERENCES T_CLASS(C_NO);
    
    INSERT INTO T_STU VALUES(1,'谈笑人生',1810);
    INSERT INTO T_STU VALUES(2,'哈哈哈',1810);
    INSERT INTO T_STU VALUES(3,'番茄',1809);
    

    INSERT INTO T_STU VALUES(4,‘再也没有’,1809);

    INSERT INTO T_STU VALUES(5,'孙悟空',1811);
    
    SELECT * FROM T_STU;
    SELECT * FROM T_CLASS;
    
    
    
    DELETE FROM T_STU WHERE S_ID=1;
    
    DELETE FROM T_CLASS WHERE C_ID=1;
    

    级联关系

    --ON DELETE CASCADE (删除主表数据顺带删除对应子表整行数据)
    ALTER TABLE T_STU ADD CONSTRAINT FK_STU_CNO
    FOREIGN KEY (C_NO) REFERENCES T_CLASS(C_NO) ON DELETE CASCADE;
    
    --ON DELETE SET NULL(删除主表数据把子表对应外键数据设置为NULL)
    ALTER TABLE T_STU ADD CONSTRAINT FK_STU_CNO
    FOREIGN KEY (C_NO) REFERENCES T_CLASS(C_NO) ON DELETE      SET NULL;
    
    展开全文
  • SQL UNIQUE 约束 语法: MySQL: CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), UNIQUE (Id_P) ) SQL...

    SQL UNIQUE 约束

    语法:

    MySQL:

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

    SQL Server / Oracle / MS Access:

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


    UNIQUE 约束唯一标识数据库表中的每条记录。

    UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

    PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

    请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束

     

    (1) 简单的说: PRIMARY KEY = UNIQUE + NOT  NULL

     数据库如:ORACLE 自动会为具有PRIMARY KEY约束的字段(主码字段)建立一个唯一索引和一个NOT NULL约束

    (2) UNIQUE 允许空值

     unique就是唯一,当你需要限定你的某个表字段每个值都唯一,没有重复值时使用. 比如说,如果你有一个person_Info表,并且表中有个身份证的column,那么你就可以指定该字段unique. 

     

    总结:

      相同点:

        它们都属于实体完整性约束.

      不同点:

      (1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。
      (2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的。但是,唯一性约束所在的列并不是表的主键列。
      (3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

           (4)建立主键的目的是让外键来引用.

      (5)一个表最多只有一个主键,但可以有很多唯一键

     

    转载于:https://www.cnblogs.com/dark-passion/p/8242954.html

    展开全文
  • 用示例演示如何创建、删除、禁用和使用唯一性约束。 2 什么是唯一性约束唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束。联合字段中,可以包含空值。 注:在Oracle中,唯一性约束最多...

    1 目标
    用示例演示如何创建、删除、禁用和使用唯一性约束。

    2 什么是唯一性约束?
    唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束。联合字段中,可以包含空值。

    注:在Oracle中,唯一性约束最多可以有32列。

    唯一性约束可以在创建表时或使用ALTER TABLE语句创建。

    3 唯一性约束和主键的区别
    主键(Primary Key):所有组成主键的列都不能包含空值。
    唯一性约束(Unique Constraint):如果唯一性约束由多列组成,其中的部分列可以包含空值。
    Oracle中不容许在相同列上既创建主键又创建唯一性约束。

    4 创建表时定义唯一性约束
    1)语法:

    CREATE TABLE table_name
    (
        column1 datatype null/not null,
        column2 datatype null/not null,
        ...
        CONSTRAINT constraint_name UNIQUE (column1, column2,...,column_n)
    );
    

    2)基于单列的唯一性约束示例:

    create table tb_supplier
    (
      supplier_id          number not null
     ,supplier_name        varchar2(50)
     ,contact_name         varchar2(50)
     ,CONSTRAINT tb_supplier_u1 UNIQUE (supplier_id)--创建表时创建唯一性约束
    );
    

    3)基于多列的唯一性约束示例:

    create table tb_products
    (
      product_id        number not null,
      product_name      number not null,
      product_type      varchar2(50),
      supplier_id       number,
      CONSTRAINT tb_products_u1 UNIQUE (product_id, product_name) --定义复合唯一性约束
    );
    

    5 使用ALTER TABLE语法创建唯一性约束
    1)语法

    ALTER TABLE table_name
    ADD CONSTRAINT constraint_name
    UNIQUE (column1, column2, ... , column_n);
    

    2)示例准备,先创建表

    drop table tb_supplier;
    drop table tb_products;
     
    create table tb_supplier
    (
      supplier_id          number not null
     ,supplier_name        varchar2(50)
     ,contact_name         varchar2(50)
    );
     
    create table tb_products
    (
      product_id        number not null,
      product_name      number not null,
      product_type      varchar2(50),
      supplier_id       number
    );
    

    3)基于单列的唯一性约束

    alter table tb_supplier
    add constraint  tb_supplier_u1
    unique (supplier_id);
    

    4)基于多列的唯一性约束

    alter table tb_products
    add constraint  tb_products_u1
    unique (product_id,product_name);
    

    6 禁用唯一性约束
    1)语法:

    ALTER TABLE table_name
    DISABLE CONSTRAINT constraint_name;
    

    2)示例:

    ALTER TABLE tb_supplier
    DISABLE CONSTRAINT  tb_supplier_u1;
    

    7 使用唯一性约束
    1)语法:

    ALTER TABLE table_name
    ENABLE CONSTRAINT constraint_name;
    

    2)示例:

    ALTER TABLE tb_supplier
    ENABLE CONSTRAINT tb_supplier_u1;
    

    8 删除唯一性约束
    1)语法:

    ALTER TABLE table_name
    DROP CONSTRAINT constraint_name;
    

    2)示例:

    ALTER TABLE tb_supplier DROP CONSTRAINT tb_supplier_u1;
    ALTER TABLE tb_products DROP CONSTRAINT tb_products_u1;
    
    展开全文
  • 唯一性约束

    2013-05-25 10:45:53
    所谓唯一性约束(unique constraint)不过是数据表内替代键的另一个名称而已。... 唯一性约束用来确保列值的唯一性,通过在列级别使用UNIQUE关键字来实现。一般情况下,在为列指定主键之后,Oracle会自动...
  • 主键约束和唯一性约束的区别

    千次阅读 2019-05-26 23:32:00
    简单说: 主键不能为空 而唯一可以为空 相同的就是 都不允许重复 详细的说: 1.主键约束(PRIMARY KEY) 主键用于唯一地标识表中的每一条记录,可以定义...唯一性约束用来限制不受主键约束的列上的数据的唯一性,用...
  • 约束的根本目的是保证数据的完整性,主要有主键约束、外键约束、唯一性约束、检查约束、默认值约束、非空约束。 域完整性 是对数据表中的字段属性进行约束,包括字段的值域、字段的类型以及字段的有效规则等约束,域...
  • 突然看到数据库表设计中的几个属性,记录一下 restrict--限制,指的是如果字表引用父表的某个字段的值,那么不允许直接删除父表的该值; cascade--级联,删除父表的某条记录,子表中引用该...1.建表时加上唯一性约束
  • unqiue约束用于强制非主键列的唯一性,允许存在空值(空值可以不唯一存在,空值永远不相等) ALTER TABLE 表明 ADD CONSTRAINT 约束名 ... drop constraint [唯一性约束名] cascade; 添加主键: alter
  • 当向有外键关联的表中添加数据时可能就会出现违反完整约束、未找到父项关键字,查看外键关联的表时发现你要使用的数据是存在的,原因就是数据库存在的数据有问题,本人提供的方法的是查询出有问题的数据,希望可以帮...
  • Oracle数据库中,约束具体包括非空(NOT NULL)约束唯一键(UNIQUE)约束、主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束和检查(CHECK)约束五种。 1:主键(PRIMARY KEY)约束 什么是主键?在一张表中,...
  • CREATE TABLE Persons ( P_Id int PRIMARY KEY AUTO_INCREMENT, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) )
  • 创建一个数据表,id 和 AUTO_INCREMENT PRIMARY KEY,自动增值和关键字一起使用,注意,AUTO_INCREMENT必须和组件PRIMARY KEY一起使用,而PRIMARY KEY可以不和AUTO_INCREMENT一起使用mysql> CREATE T...
  • Cypher每个节点或Relation都有一个系统分配的id,从0开始递增,全局唯一! 例如: Create(a:Person{id:123}),此ID不是系统分配的id,且该语句不会出现关键字错误。 2. 索引index ----创建索引 create index on:...
  • 完整性约束关键字 含义 DEAFAULT 设置字段值为默认值 UNIQUE KEY(UK) 约束字段的值 NOT NULL 约束字段值不为空 NOT NULL 约束字段值不为空
  • 唯一约束和检查约束(oracle)

    千次阅读 2018-10-01 14:31:00
    2.唯一约束关键字:unique 3.在创建表时设置唯一约束 constraint constraint_name unique( column_name) 4.在修改表添加唯一约束 ADD constraint constraint_name unique( column_name) 5.创建检查约...
  • 非空约束:是指 某些列不能设置为NULL值,...NOT NULL 是非空约束关键字 CREATE TABLE student ( sid INT PRIMARY KEY AUTO_INCRAMENT, sname VARCHAR(50) NOT NULL, age INT ); 设置sname为非空约束  ...
  • 主键约束唯一约束的区别

    千次阅读 2017-11-14 09:30:26
    1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。...1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表
  • 主键约束唯一约束

    千次阅读 2019-03-07 21:30:59
    主键约束唯一约束主键约束唯一约束的区别普通索引和唯一索引Mysql中的索引普通索引(非唯一索引)唯一索引唯一索引主键约束唯一索引唯一约束唯一索引创建唯一索引删除主键约束唯一约束自动创建的唯一索引 ...
  • 约束,是对表中的数据进行限定,保证数据的正确、有效和完整约束分为以下几类: 主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign key 1.1 非空约束:not null 1)在创建...
  • MySQL完整性约束

    2021-02-09 11:42:28
    完整性约束关键字 含义 NOTNULL 约束字段的值不能为空 UNIQUE KEY(UK) 约束字段的字是唯一 DEFALULT 设置字段默认值 PRIMARY KEY(PK) 约束字段为表的主键,可以作为该表记录的唯一标识 AUTO_INCREMENT ...
  • 保证记录的唯一性 约束分为表级约束和列级约束 约束类型按功能包括有:非空约束、主键约束、唯一约束、默认约束、外键约束、 【自动编号】AUTO_INCREMENT 起始值为1,增量为1。 自动编号的字段必须为数值型,若为...
  • 1.约束分类 1)表级约束:应用于表,对表的多个列起作用 2)列级约束:应用于表的一列,只对该列起作用 ...[colunm_constraint(完整性约束)], ... [table_constraint(完整性约束)]; ) eg: CREAT...
  • 3、作用:给主键以外的列,限定唯一性 4、唯一键分类 单列的唯一 复合唯一 唯一键和主键的区别: (1)主键不能为空,唯一键可以为空 (2)主键约束,一个表只能有一个,而唯一键可以有很多个 (二)使用唯一键 1、...
  • 相关文章链接 : 1.【嵌入式开发】C语言 指针数组 多维数组 2.【嵌入式开发】C语言 命令行参数 函数指针 ... 3.... 4.... 5.【C语言】 C 语言 关键字分析 ( 属性关键字 | 常量关键字 | 结构体关键字 | 联合体关键字 ...
  • 表的完整性约束

    2017-08-25 15:48:00
    完整性指数据的准确性和一致性,完整性检查就是检查数据的准确性和...完整性约束关键字 含义 NOT NULL 约束字段的值不能为空 DEFAULT 设置字段的默认值 UNIQUE (UK) 约束字段的值是唯一 PRIMARY KEY (PK) ...
  • 约束

    2014-09-21 18:21:35
    约束 约束:在数据表上强制执行的一些数据检验规则,当执行DML操作时,数据必须符合这些规则...唯一性约束(Unique),简称UK 主键约束(Primary Key),简称PK 外键约束(Foreign Key),简称FK 检查性约束(Ch

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,491
精华内容 21,396
关键字:

唯一性约束的关键字