Учебник по 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 CHECK


Ограничение SQL CHECK

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

Если вы определите CHECKограничение для столбца, оно позволит использовать только определенные значения для этого столбца.

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


ПРОВЕРКА SQL при СОЗДАНИИ ТАБЛИЦЫ

Следующий SQL создает CHECKограничение для столбца «Возраст» при создании таблицы «Люди». Ограничение CHECKгарантирует, что возраст человека должен быть 18 лет или старше:

MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

SQL Server/Oracle/MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int CHECK (Age>=18)
);

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

MySQL/SQL Server/Oracle/MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);


ПРОВЕРКА SQL на ALTER TABLE

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

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ADD CHECK (Age>=18);

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

MySQL/SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

ПРОВЕРИТЬ Ограничение

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

SQL Server/Oracle/MS Access:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;