САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ

SQL Учебник

SQL Главная SQL Введение SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL AND, OR, NOT SQL ORDER BY SQL INSERT INTO SQL Значение Null SQL Инструкция UPDATE SQL Инструкция DELETE SQL SELECT TOP SQL MIN() и MAX() SQL COUNT(), AVG() и ... SQL Оператор LIKE SQL Подстановочный SQL Оператор IN SQL Оператор BETWEEN SQL Псевдонимы SQL JOIN SQL JOIN Внутри SQL JOIN Слева SQL JOIN Справа SQL JOIN Полное SQL JOIN Сам SQL Оператор UNION SQL GROUP BY SQL HAVING SQL Оператор Exists SQL Операторы Any, All SQL SELECT INTO SQL INSERT INTO SELECT SQL Инструкция CASE SQL Функции NULL SQL Хранимая SQL Комментарии

SQL База данных

SQL Создать БД SQL Откинуть БД SQL Резервная БД SQL Создать таблицу SQL Откинуть таблицу SQL Изменить таблицу SQL Ограничения SQL Не ноль SQL Уникальный SQL Первичный ключ SQL Внешний ключ SQL Проверить SQL По умолчанию SQL Индекс SQL Авто приращение SQL Даты SQL Представление SQL Инъекция SQL Хостинг

SQL Справочник

SQL Ключевые слова MySQL Функции SQL Server функции MS Access функции SQL Операторы SQL Типы данных SQL Краткий справочник

SQL Примеры

SQL Примеры SQL Викторина SQL Упражнения SQL Сертификат

SQL Ограничение уникальное



SQL UNIQUE

Ограничение UNIQUE гарантирует, что все значения в столбце будут разными.

Как ограничения UNIQUE, так и ограничения PRIMARY KEY обеспечивают гарантию уникальности для столбца или набора столбцов.

Ограничение первичного ключа автоматически имеет уникальное ограничение.

Однако в каждой таблице может быть много уникальных ограничений, но только одно ограничение первичного ключа для каждой таблицы.


SQL Ограничение UNIQUE в CREATE TABLE

Следующий SQL создает уникальное ограничение для столбца "ID" при создании таблицы "Persons":

SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    UNIQUE (ID)
);

Чтобы назвать уникальное ограничение и определить уникальное ограничение для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT UC_Person UNIQUE (ID,LastName)
);


SQL Ограничение UNIQUE в ALTER TABLE

Чтобы создать уникальное ограничение для столбца "ID", когда таблица уже создана, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (ID);

Чтобы назвать уникальное ограничение и определить уникальное ограничение для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);

Ограничение UNIQUE с DROP

Чтобы удалить уникальное ограничение, используйте следующий SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;