精华内容
下载资源
问答
  • t-sql 唯一约束Hello! Hope you guys are doing well. In this article, we will be unveiling one of the interesting and important topic in SQLSQL UNIQUE Constraint. 你好! 希望你们一切都好。 在本文中...

    t-sql 唯一约束

    Hello! Hope you guys are doing well. In this article, we will be unveiling one of the interesting and important topic in SQL SQL UNIQUE Constraint.

    你好! 希望你们一切都好。 在本文中,我们将揭露SQL中有趣且重要的主题之一-SQL UNIQUE Con​​straint



    什么是UNIQUE约束? (What is a UNIQUE constraint?)

    SQL Constraints is a set of rules that are applicable to the schema or the data that is fed to the structure of a database. One such constraint is UNIQUE. The name ‘UNIQUE’ itself speaks about its nature and function.

    SQL约束是一组适用于架构或馈入数据库结构的数据的规则。 这样的约束之一就是UNIQUE。 “ UNIQUE”这个名称本身就说明了其性质和功能。

    SQL UNIQUE constraint enables the column to be free from redundant values. It helps restrict the input values to be unique. Thus, by applying a UNIQUE constraint to a column or a set of columns, we ensure that the data contains no Duplicate entries within it.

    SQL UNIQUE约束使列中没有多余的值。 它有助于将输入值限制为唯一。 因此,通过将UNIQUE约束应用于一列或一组列,我们确保数据中不包含重复项。

    Let us understand the importance and functionality of UNIQUE constraint through a real time application/example.

    让我们通过实时应用程序/示例了解UNIQUE约束的重要性和功能。

    Consider an online e-learning business portal. The owner of the business portal announces that he would grant free access to Data science courses in the coming time. In order to access the course material, the candidates would have to enter their email address and phone number.

    考虑一个在线电子学习业务门户。 商业门户网站的所有者宣布,他将在未来一段时间内授予免费访问数据科学课程的权限。 为了访问课程资料,候选人必须输入其电子邮件地址和电话号码。

    Now, to make sure that a single candidate receives a single material kit at a time, the database engineer has to make sure that no repeated email ids and phone numbers must be accepted in the database.

    现在,要确保单个候选人一次能收到一个材料包,数据库工程师必须确保数据库中不再需要重复的电子邮件ID和电话号码。

    This is where SQL UNIQUE constraint comes into the picture. Using UNIQUE constraint, no duplicate entries would be allowed. Thus, making sure that a single candidate does not grant access to multiple course material kits.

    这是SQL UNIQUE约束出现的地方。 使用UNIQUE约束,不允许重复条目。 因此,确保单个候选人不会授予访问多个课程资料包的权限。

    Having understood the working of SQL UNIQUE constraint, let us now understand the syntax of the same.

    了解了SQL UNIQUE约束的工作原理后,现在让我们了解一下它的语法。



    SQL UNIQUE约束的语法 (Syntax of SQL UNIQUE constraint)

    SQL UNIQUE constraint works with the structure as well as the data of the database.

    SQL UNIQUE约束适用于数据库的结构和数据。

    
    -- Any data definition language command(CREATE/ALTER/DROP)
    column-name UNIQUE;
    

    The SQL UNIQUE constraint is applied to one or multiple columns while defining the commands in the table or even can be applied while modifying the table(eg.ALTER command)

    SQL UNIQUE约束在表中定义命令时应用于一列或多列,甚至可以在修改表时应用(例如ALTER命令)

    By applying UNIQUE rule to a column, the database accepts only ‘unique’ values for the specified column.

    通过将UNIQUE规则应用于列,数据库将仅接受指定列的“唯一”值。



    通过示例实现UNIQUE约束 (Implementing UNIQUE constraint through examples)

    We’ll use the SQL UNIQUE constraint in multiple different ways.

    我们将以多种不同方式使用SQL UNIQUE约束。

    具有CREATE表命令SQL UNIQUE CONSTRAINT(SQL UNIQUE CONSTRAINT with CREATE table command.)

    In this example, we create a table using SQL Create query and define the following columns:

    在此示例中,我们使用SQL Create查询创建表并定义以下列:

    • id

      ID
    • acc_no

      acc_no
    • name

      名称
    
    CREATE TABLE INFO(
       ID   INT              NOT NULL,
       ACC_NO  INT           UNIQUE,
      NAME VARCHAR (20),   
       PRIMARY KEY (ID)
    );
    

    Here, the column ‘id’ is specified as NOT NULL(constraint), which means that the data values passed to this column can never be empty or null. Further, the column ‘ID’ is defined to behave as a PRIMARY KEY. SQL PRIMARY KEY too makes sure that the values passed to the table are non-redundant.

    在这里,列“ id”被指定为NOT NULL (约束),这意味着传递给该列的数据值永远不能为空或null。 此外,列“ ID”被定义为充当主键。 SQL PRIMARY KEY也可以确保传递到表的值是非冗余的。

    We have set the column ‘acc_no’ to UNIQUE by which the duplicate entries for this column would be forbidden. If we try to enter duplicate values for ‘acc_no’, duplicate value error would be raised.

    我们已将“ acc_no”列设置为UNIQUE,通过该列,该列的重复条目将被禁止。 如果我们尝试为“ acc_no”输入重复值,则会出现重复值错误。

    We can set UNIQUE constraint for multiple columns of the table as shown below–

    我们可以为表的多个列设置UNIQUE约束,如下所示–

    
    CREATE TABLE Sales (
        ID int NOT NULL,
        NAME varchar(255) NOT NULL,
        Age int,
        Salary INT,
        CONSTRAINT Unique_sales UNIQUE (NAME,Age)
    );
    

    In the above example, we have set UNIQUE constraint to two columns — ‘NAME’ and ‘Age’ and have provided a constraint name as ‘Unique_sales’.

    在上面的示例中,我们将UNIQUE约束设置为两列-“ NAME”和“ Age”,并将约束名称提供为“ Unique_sales”。

    带有ALTER table命令SQL UNIQUE CONSTRAINT (SQL UNIQUE CONSTRAINT with ALTER table command)

    At times, if we wish to set the UNIQUE constraint to any data column after defining it, we can club it with SQL Alter table query.

    有时,如果我们希望在定义后将UNIQUE约束设置为任何数据列,则可以将其与SQL Alter表查询合并。

    SQL ALTER Table query along with UNIQUE constraint helps us modify the rules of the column and set unique rule/constraint to the specified column or columns.

    SQL ALTER表查询以及UNIQUE约束可帮助我们修改列的规则,并为指定的一个或多个列设置唯一的规则/约束。

    Here, we have modified the above-created table – ‘Sales’ and have set Unique constraint to the column ‘Age’.

    在这里,我们修改了上面创建的表“ Sales”,并将“ Unique”约束设置为“ Age”列。

    
    ALTER TABLE Sales
       MODIFY Age INT UNIQUE;
    

    带有SQL DROP命令SQL UNIQUE CONSTRAINT (SQL UNIQUE CONSTRAINT with SQL DROP command)

    We can remove the rule/constraint from the columns with the help of SQL DROP command as shown below-

    我们可以借助SQL DROP命令从列中删除规则/约束,如下所示-

    
    ALTER TABLE Sales
    DROP CONSTRAINT Unique_sales;
    


    指向突出显示! (Point to Highlight!)

    As I had mentioned, that Primary key also ensures non-duplicate entries in the database.

    如前所述,该主键还可以确保数据库中的条目不重复。

    Then, why has the need of using UNIQUE constraint arised??

    那么,为什么需要使用UNIQUE约束呢?

    Let me answer this question to the simplest terms.

    让我用最简单的术语回答这个问题。

    SQL Primary Key serves the same purpose (like Unique constraint) of ensuring nonredundant values in the table. But, a table can have a SINGLE primary key while there can be multiple unique constraints applied to various columns of the table.

    SQL主键具有确保表中非冗余值的相同目的(如唯一性约束)。 但是, 一个表可以有一个SINGLE主键,同时可以对表的各个列应用多个唯一约束



    结论 (Conclusion)

    That’s all for this topic. Please feel free to comment below in case you come across any doubt.

    这就是本主题的全部内容。 如果您有任何疑问,请随时在下面发表评论。

    For more such posts related to SQL, do visit SQL JournalDev.

    有关与SQL有关的更多此类帖子,请访问SQL JournalDev



    参考资料 (References)

    SQL UNIQUE Constraint — Documentation

    SQL UNIQUE约束-文档

    翻译自: https://www.journaldev.com/41704/sql-unique-constraint

    t-sql 唯一约束

    展开全文
  • 问题是这样的,每个月我都要把一些数据导入数据库,由于数据有时候会出现重复,就会导入出错,违反了唯一约束,但是查找这条数据有点麻烦。sql能不能在报错的时候,输出报错的记录。
  • 文章目录准备知识定义唯一约束使用SSMS工具定义唯一约束使用SQL方式定义唯一约束方式一:在创建数据表的时候定义唯一约束方式二:修改数据表定义唯一约束删除唯一约束使用SSMS工具删除唯一约束方式一:在对象资源...




    准备知识

        如果要求数据表中的某列不能输入重复值,有两种约束可以做到。一种是主键约束,即该列是数据表的主键;另一种则是唯一约束,对于不是主键的列,唯一约束能够确保不会出现重复值(可以为NULL值)。
        唯一约束允许 NULL 值,这一点与主键约束不同。 不过,当与参与唯一约束的任何值一起使用时,每列只允许一个空值。 外键约束可以引用 唯一约束。
        默认情况下,向表中的现有列添加唯一约束后,数据库引擎将检查列中的现有数据,以确保所有值都是唯一的。 如果向含有重复值的列添加唯一约束, 数据库引擎将返回错误消息,并且不添加约束。
        数据库引擎将自动创建唯一索引来强制执行唯一约束的唯一性要求。 因此,如果试图插入重复行, 数据库引擎将返回错误消息,说明该操作违反了唯一约束,不能将该行添加到表中。 除非显式指定了聚集索引,否则,默认情况下将创建唯一的非聚集索引以强制执行唯一约束。

    定义唯一约束

    使用SSMS工具定义唯一约束
    1. 展开“数据库”,然后展开相应的数据库,再展开数据库中的“表”,右击需要定义唯一约束的数据表,选择“设计”。
      在这里插入图片描述
    2. 进入表设计器界面,点击工具栏的“管理索引和键”按钮,或者右键选择“索引和键”。
      在这里插入图片描述
      在这里插入图片描述
    3. 进入“索引/键”对话框,点击“添加”。
      在这里插入图片描述
    4. 单击右侧的“类型”,在右侧下拉框中选择“唯一键”。
      在这里插入图片描述
    5. 单击右侧的“列”,点击右边的“…”按钮。
      在这里插入图片描述
    6. 进入索引列对话框,在列名中选择需要添加唯一性约束的属性列,点击“确定”。
      在这里插入图片描述
    7. 在“标识”的“(名称)”中修改唯一约束的名称,点击“关闭”。
      在这里插入图片描述
    8. 点击保存键,或者按Ctrl+F5键进行保存。展开数据表,展开“键”,可以看到定义的唯一约束。
      在这里插入图片描述

    使用SQL方式定义唯一约束
    方式一:在创建数据表的时候定义唯一约束
    1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
      在这里插入图片描述
    2. 输入创建SQL代码
    USE schoolDB                                                 --打开数据库schoolDB
    GO
    IF EXISTS(SELECT * FROM sysobjects WHERE name='student') 
    DROP TABLE student                --检查student是否已经存在,如果存在,则删除
    GO
    CREATE TABLE student                                           --表名为student
    (
    	  StuID int NOT NULL,                                           --学生学号
    	  StuName varchar(15) UNIQUE NOT NULL,                          --学生姓名
    	  Sex char(2) NULL,                                             --性别
    	  Major varchar(20) NULL,                                      --所选专业
    )
    
    
    
    1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
      在这里插入图片描述
    2. 点击“执行”按钮,或按住F5,执行SQL代码。
      在这里插入图片描述
    3. 查看数据表中的键。
      在这里插入图片描述

    方式二:修改数据表定义唯一约束
    1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
      在这里插入图片描述
    2. 输入创建SQL代码
    USE schoolDB                                                 --打开数据库schoolDB
    GO
    ALTER TABLE student
    ADD CONSTRAINT UQ_student_StuName UNIQUE(StuName) 
    			--将student表中的StuName列定义唯一约束
    
    
    
    1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
      在这里插入图片描述
    2. 点击“执行”按钮,或按住F5,执行SQL代码。
      在这里插入图片描述
    3. 查看数据表中的键。
      在这里插入图片描述



    删除唯一约束

    使用SSMS工具删除唯一约束
    方式一:在对象资源管理器中删除唯一约束
    1. 展开需要删除唯一约束的数据表,然后再展开“键”。
      在这里插入图片描述
    2. 右击需要删除的唯一约束,选择“删除”。
      在这里插入图片描述
    3. 在删除对象界面,点击“确定”,即可完成唯一约束删除。
      在这里插入图片描述

    方式二:在表设计器中删除唯一约束
    1. 右击需要删除唯一约束的数据表,选择“设计”。
      在这里插入图片描述

    2. 进入表设计器界面,点击工具栏的“管理索引和键”按钮,或者右键选择“索引和键”。
      在这里插入图片描述
      在这里插入图片描述

    3. 在“索引/键”对话框中选择需要删除的唯一约束,点击“删除”,完成唯一约束的删除。
      在这里插入图片描述


    使用SQL方式删除唯一约束
    1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
      在这里插入图片描述

    2. 输入创建SQL代码

    USE schoolDB --打开schoolDB数据库
    GO
    ALTER TABLE class 
    DROP CONSTRAINT UQ_class_ClassName   --删除表class的唯一约束UQ_class_ClassName
    
    
    1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
      在这里插入图片描述
    2. 点击“执行”按钮,或按住F5,执行SQL代码。
      在这里插入图片描述
    3. 唯一约束已被删除。
      在这里插入图片描述



    展开全文
  • 唯一约束(unique) 表中的一个字段的内容是唯一的 范例:建表一个 pname 是唯一的表 示例图: 此时是不允许向表内插入名字相同的记录的! 唯一约束的名字也可以自定义 示例图: 以上操作完整源码...

    SQL

    约束

    • 在数据库开发中,约束是必不可少,使用约束可以更好的保证数据的完整性。
    唯一约束(unique)
    • 表中的一个字段的内容是唯一的

    • 范例:建表一个 pname 是唯一的表

    • 示例图:
      在这里插入图片描述
      在这里插入图片描述
      此时是不允许向表内插入名字相同的记录的!

    • 唯一约束的名字也可以自定义

    • 示例图:
      在这里插入图片描述
      在这里插入图片描述

    以上操作完整源码:

    --唯一约束
    create table person(
           person_id  number(4) ,
           pname      varchar2(10) unique,
           age        number(3),
           birthday   date
    );
    
    --自定义唯一约束名称
    create table person(
           person_id  number(4) ,
           pname      varchar2(10),
           age        number(3),
           birthday   date,
           constraint person_pname_uk unique(pname)
    );
    

    如有错误,欢迎指正!

    展开全文
  • SQL唯一约束

    2020-12-21 19:09:20
    唯一约束 特点数据不能重复 方式1、 create table 表名( 字段名1 类型1 unique, 字段名2 类型2 ) 方式2、 create table 表名( 字段名1 类型1 , 字段名2 类型2, unique(字段名1) ) 方式3、 create table ...

    唯一约束
    特点数据不能重复
    方式1、
    create table 表名(
    字段名1 类型1 unique,
    字段名2 类型2

    方式2、
    create table 表名(
    字段名1 类型1 ,
    字段名2 类型2,
    unique(字段名1)

    方式3、
    create table 表名(
    字段名1 类型1,
    字段名2 类型2

    alter table 表名 add primary key(字段1);

    展开全文
  • 一、约束的分类 1、实体约束  实体约束是关于行的,比如某一行出现的值不允许出现在其他行,例如主键约束。 2、域约束  域约束是关于列的,对于所有行,某一列有... Sql Server我们不提供约束名称,会自动...
  • sql2005 唯一约束

    2013-07-03 22:04:28
    1.右键 索引/键 2.添加 索引处改为唯一约束 3.列 (改为为一列)
  • sql添加唯一约束

    万次阅读 2018-05-31 10:15:58
    alter table [protectionZone]add constraint cons_02 unique (zoneName)
  • SQL 表添加唯一约束

    2017-07-31 13:32:40
    SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,...
  • sql UNIQUE 约束唯一

    千次阅读 2010-11-03 16:02:00
    UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。...下列SQL创建了一个唯一约束的“ P_Id ”一栏时, “人”是创建表:CREATE TABLE Persons
  • SQL Server 创建唯一约束sql语句 语句示例: 在创建表是时同时创建, 创建id,name,sex三个字段的唯一索引 create table t1( id int primary key,name varchar(50) not null,sex int not null,constraint...
  • 首先说明一点,主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法: alter table Person add constraint PK_Id primary key (Id) alter table Person add constraint UQ_Name unique (Name) 主键和...
  • SQL UNIQUE 约束

    2020-12-16 16:28:59
    SQL UNIQUE 约束 SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。 请注意,每个表可以...
  • sql唯一约束

    2012-03-19 14:23:02
    但是类型不一样,不过我只想显示一行数据的SQL,不管类型ID" 求SQL语句 希望结果: 货单号 商品名 类型ID 价格 121 商品一 101或103 10 122 商品二 101或103 10 该结构为套用,设计不合理吾喷
  • sql删除唯一约束Unique

    2014-12-15 11:47:51
    现在有一个约束,创建为: CREATE UNIQUE INDEX UI ON TABLE_NAME (COLUMN_ONE) LOGGING TABLESPACE TS_SPACE ...如何删除这个约束?...ORA-02442: 无法删除不存在的唯一关键字 ...如何能通过sql删除该约束? 谢谢
  • 1.建表时加上唯一约束: [java] view plaincopyCREATE TABLE `t_user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(18) NOT NULL unique, `password` varchar(18) NOT NULL, ...
  • SQL中添加唯一约束

    千次阅读 2010-12-15 20:03:00
    1、创建唯一约束  创建唯一约束来确保不参与主键的特定列的值不重复。尽管唯一约束和主键都强制唯 一性,但在下列情况下,应该为表附加唯一约束以取代主键约束: <br /> 如果要对列或列的...
  • SQL Server中有五种约束类型,分别是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。   1. PRIMARY KEY...
  • SQL Server使用约束来强制列数据的完整性。主键和外键都是约束的一种形式。其他用于列的约束形式包括: UNIQUE约束,它强制表的非主键列的唯一性...根据定义,唯一约束创建一个替代键。和PRIMARY KEY约束不同,你...
  • This article gives you an overview of Unique Constraints in SQL and also the Unique SQL Server index. Along the way, we will look at the differences ... 本文为您概述了SQL中的唯一约束以及唯一SQL ...
  • 注意: A.表中有数据不能创建约束 ...主键是每行的唯一标识符,仅仅通过它就能准确定位到一行,其中主键列在整个表中不能有重复,必须包含唯一的值(不能为NULL)。 alter table t_group  alter column id i...
  • 约束 约束(Constraint)是为了保证表中数据的完整性,合法性以及有效性。... 非空约束(not null):指这个数据必须填写,不能为null ...一般usename(唯一约束) password(非空约束) 非空约束 not null 可
  • SQL错误:违反唯一约束条件

    万次阅读 2019-07-10 19:47:37
    java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件 (AML.PK_LTB_INS_RPOL) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:12296) at oracle.jdbc.driver....
  • 唯一约束又称为UNIQUE约束,它用于防止一个特定的列中两个记录具有一致的值 如:在员工信息表中希望防止两个或者多个人具有相同的身份证号码。 唯一约束分为单字段唯一约束与复合唯一约束两种。 单字段唯一约束: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,921
精华内容 1,168
关键字:

sql唯一约束