Учебник по SQL

SQL ГЛАВНАЯ Введение в SQL Синтаксис SQL Выбор SQL SQL выбрать отдельный SQL Где SQL И, Или, Не Порядок SQL по SQL вставить в Нулевые значения SQL Обновление SQL SQL Удалить SQL выберите вверху SQL Мин. и Макс. Количество SQL, среднее, сумма SQL нравится Подстановочные знаки SQL SQL входящий SQL между Псевдонимы SQL SQL-соединения Внутреннее соединение SQL Левое соединение SQL SQL правое соединение Полное соединение SQL Самостоятельное присоединение SQL Союз SQL Группа SQL по SQL Имея SQL существует SQL Любой, Все SQL выбрать в SQL вставить в выбор SQL-кейс Нулевые функции SQL Хранимые процедуры SQL Комментарии SQL SQL-операторы

База данных SQL

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

Ссылки на SQL

Ключевые слова SQL Функции MySQL Функции SQL-сервера Функции MS Access Краткое руководство по SQL

Примеры SQL

Примеры SQL SQL-викторина SQL-упражнения SQL-сертификат

УНИКАЛЬНОЕ ограничение SQL


УНИКАЛЬНОЕ ограничение SQL

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

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

Ограничение PRIMARY KEYавтоматически имеет UNIQUEограничение.

Однако у вас может быть много UNIQUEограничений на таблицу, но только одно PRIMARY KEYограничение на таблицу.


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

Следующий SQL создает UNIQUEограничение для столбца «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)
);

Чтобы назвать UNIQUEограничение и определить UNIQUEограничение для нескольких столбцов, используйте следующий синтаксис 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

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

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ADD UNIQUE (ID);

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

MySQL/SQL Server/Oracle/MS Access:

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

УДАЛИТЬ УНИКАЛЬНОЕ ограничение

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

MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;

SQL Server/Oracle/MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;