>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 25991 个阅读者 刷新本主题
 * 贴子主题:  SQL UNIQUE 约束 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-08-17 18:21:24     消息  查看  搜索  好友  邮件  复制  引用

  

SQL  UNIQUE 约束

SQL UNIQUE 约束

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

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

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

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

CREATE TABLE 时的 SQL UNIQUE 约束

     下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 UNIQUE 约束:

                 MySQL:

CREATE TABLE Persons  (

    P_Id int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255),

    UNIQUE (P_Id)

)

             SQL Server / Oracle / MS Access:

CREATE TABLE Persons    (

    P_Id int NOT NULL UNIQUE,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

)

             如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 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 uc_PersonID UNIQUE (P_Id,LastName)

)            

ALTER TABLE 时的 SQL UNIQUE 约束

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

                 MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons     ADD UNIQUE (P_Id)

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

                 MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons   ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)            

撤销 UNIQUE 约束

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

                 MySQL:

     ALTER TABLE Persons     DROP INDEX uc_PersonID

             SQL Server / Oracle / MS Access:

   ALTER TABLE Persons     DROP CONSTRAINT uc_PersonID

    





程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-14 12:56:22 重新编辑]
  Java面向对象编程-->按面向对象开发的基础范例
  JavaWeb开发-->JSP技术详解(Ⅰ)
  JSP与Hibernate开发-->Java对象持久化技术概述
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->创建综合购物网站应用
  Vue3开发-->通过Vuex进行状态管理
  一文读懂非关系型数据库(NoSQL)
  秒懂 QPS、TPS、PV、UV、GMV、IP、RPS!
  一条垃圾SQL,把 64 核 CPU 快跑崩了!
  MySQL千万级别大表,盘点优化技巧
  谈谈网络通信中的 ACK、NACK 和 REX
  MySQL 正则表达式
  MySQL 连接
  SQL 通配符
  网络运维 - 你与真相就差一层窗户纸
  HTML5+JavaScript实现一个简单的音乐播放器
  数据库设计(一)——数据库设计-生命不息,奋斗不止
  一次给朋友转账引发我对分布式事务的思考
  我心中的MySQL DBA
  mysql主从复制的步骤
  Mysql备份与恢复
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。