В этом учебном пособии вы узнаете, как создавать, удалять, отключать, и включать unique constraints (уникальные ограничения) в SQL Server с синтаксисом и примерами.
Описание
В SQL Server (Transact-SQL) Unique Constraints как создавать, удалять, отключать, и включать unique constraints (уникальные ограничения)
Уникальное ограничение - это одно поле или комбинация полей, которые однозначно определяют запись. Некоторые из полей могут содержать нулевые значения, если комбинация значений уникальна.
В чем разница между уникальным ограничением и первичным ключом?
Первичный ключ - поля, которые являются частью первичного ключа, не могут содержать значение NULL.
Уникальное ограничение - некоторые поля, которые являются частью уникального ограничения, могут содержать значения NULL, если комбинация значений уникальна.
Создание уникального ограничения - использование оператора CREATE TABLE
Синтаксис создания уникального ограничения с использованием оператора CREATE TABLE в SQL
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
CONSTRAINT constraint_name UNIQUE (uc_col1, uc_col2, ... uc_col_n)
);
table_name - имя таблицы, которую вы хотите создать.
column1, column2 - столбцы, которые вы хотите создать в таблице.
constraint_name - имя уникального ограничения.
uc_col1, uc_col2, ... uc_col_n - столбцы, которые составляют уникальное ограничение.
Пример
Рассмотрим пример создания уникального ограничения в SQL Server с помощью опертора CREATE TABLE.
1 2 3 4 5 6 7 8 |
CREATE TABLE employees ( employee_id INT PRIMARY KEY, employee_number INT NOT NULL, last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50), salary MONEY, CONSTRAINT employees_unique UNIQUE (employee_number) ); |
В этом примере мы создали уникальное ограничение для таблицы employees, с именем employee_unique, которое состоит только из одного поля employee_number.
Мы могли бы также создать уникальное ограничение с несколькими полями, как в приведенном ниже примере:
1 2 3 4 5 6 7 8 |
CREATE TABLE employees ( employee_id INT PRIMARY KEY, employee_number INT NOT NULL, last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50), salary MONEY, CONSTRAINT employees_unique UNIQUE (last_name, first_name) ); |
Создание уникального ограничения - использование оператора ALTER TABLE
Синтаксис создания уникального ограничения с использованием оператора ALTER TABLE в SQL Server:
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
table_name - имя таблицы для изменения. Это таблица, к которой вы хотите добавить уникальное ограничение.
constraint_name - имя уникального ограничения.
column1, column2, ... column_n - столбцы, которые составляют уникальное ограничение.
Пример
Рассмотрим пример того, как добавить уникальное ограничение в существующую таблицу в SQL Server с помощью оператора ALTER TABLE.
1 2 |
ALTER TABLE employees ADD CONSTRAINT employees_unique UNIQUE (employee_number); |
В этом примере мы создали уникальное ограничение для существующей таблицы employees, с именем employee_unique, состоящего из поля с именем employee_number.
Мы могли бы также создать уникальное ограничение с несколькими полями, как в приведенном ниже примере:
1 2 |
ALTER TABLE employees ADD CONSTRAINT employee_name_unique UNIQUE (last_name, first_name); |
Удаление уникального ограничения
Синтаксис удаление уникального ограничения в SQL Server:
DROP CONSTRAINT constraint_name;
table_name - имя таблицы для изменения. Это таблица, ограничение, которой вы хотите удалить.
constraint_name - имя уникального ограничения для удаления.
Пример
Рассмотрим пример удаления уникального ограничения из таблицы в SQL Server.
1 2 |
ALTER TABLE employees DROP CONSTRAINT employees_unique; |
В этом примере мы удалили уникальное ограничение employee_unique для таблицы employees.