logo

SQL | ПЕРЕВІРИТИ обмеження

TheCHECKобмеження в SQL забезпечує виконання правил щодо значень стовпців, обмежуючи дані, які можна вставляти або оновлювати. Він гарантує, що значення відповідають заданим умовам. Якщо значення порушує умову, операція відхиляється.CHECKможна додати під час створення або модифікації таблиці.

stringbuilder

Синтаксис обмеження CHECK

The Обмеження CHECK можна визначити під час створення таблиці або додати пізніше за допомогою оператора ALTER.

1. Використання CHECK з CREATE TABLE :

CREATE TABLE table_name (  
column1 datatype
column2 datatype CHECK (condition)
...
);

2. Використання CHECK з ALTER TABLE

ALTER TABLE table_name  
ADD CONSTRAINT constraint_name CHECK (condition);

Ключові моменти щодо обмеження CHECK:



  • Цілісність домену: Він гарантує, що значення в стовпці відповідають заданим умовам, таким чином допомагаючи підтримувати дійсні дані в базі даних.
  • Використовується з CREATE або ALTER: Обмеження CHECK можна визначити під час створення таблиці або додати до існуючої таблиці.
  • Можна поєднувати з іншими обмеженнями: Ви можете використовувати CHECK разом з іншими обмеженнями, наприклад ПЕРВИННИЙ КЛЮЧ FOREIGN KEY і NOT NULL, щоб визначити більш повні правила для даних таблиці.
  • Обмеження на рівні рядка: На відміну від обмежень на рівні стовпців, які впливають на окремі стовпці, обмеження CHECK можна застосувати до кількох стовпців одночасно, якщо це необхідно.

Приклади використання обмеження CHECK

Давайте розглянемо кілька практичних прикладів, щоб краще зрозуміти, як працює обмеження CHECK SQL .

Приклад 1: застосування ПЕРЕВІРКИ до одного стовпця

У цьому прикладі ми створюємо таблицю «Клієнти» зі стовпцем «Вік», який має містити значення від 18 до 120. Обмеження CHECK гарантує, що в таблицю не буде вставлено неприпустимий вік.

Запит:

CREATE TABLE Customers (  
CustomerID INT PRIMARY KEY
Name VARCHAR(50)
Age INT CHECK (Age >= 18 AND Age <= 120)
);


-- Valid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (1 'John Doe' 25);

-- Invalid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (2 'Jane Smith' 15); -- This will fail due to the CHECK constraint

Стовпець «Вік» має обмеження «ПЕРЕВІРКА», яке гарантує, що значення має бути від 18 до 120. Якщо ви спробуєте вставити вік за межами цього діапазону, база даних видасть помилку.

Приклад 2: Обмеження CHECK із кількома стовпцями

Ми також можемо використовувати обмеження CHECK для кількох стовпців. Наприклад, скажімо, у нас є Таблиця співробітників, і ми хочемо переконатися, що зарплата додатна, а вік більше або дорівнює 18.

Запит:

CREATE TABLE Employee (  
EmployeeID INT PRIMARY KEY
Name VARCHAR(50)
Age INT
Salary DECIMAL(10 2)
CHECK (Age >= 18 AND Salary > 0)
);


-- Valid insert
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (1 'Alice Johnson' 30 50000);

-- Invalid insert (age < 18)
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (2 'Bob Lee' 16 45000); -- This will fail due to the CHECK constraint

Обмеження CHECK забезпечує виконання обох умов. працівнику має бути принаймні 18 років, а зарплата має бути більшою за 0. Таке обмеження корисне, коли в правилі задіяно кілька стовпців.

Приклад 3: Додавання обмеження CHECK за допомогою ALTER TABLE

Ми можемо додати обмеження CHECK до існуючої таблиці за допомогою оператора ALTER TABLE.

Запит:

ALTER TABLE Employee  
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);

Це додає обмеження CHECK під назвою chk_salary до таблиці Employee, гарантуючи, що стовпець Salary має мінімальне значення 30 000. Якщо ви спробуєте вставити або оновити запис із зарплатою, нижчою за 30 000, операція не вдасться.

Запропонована вікторина Редагувати вікторину 5 Питань

Що забезпечує обмеження CHECK у SQL?

регістр java switch
  • А

    Стовпець приймає значення без будь-яких правил

  • Б

    Стовпець приймає значення лише тоді, коли він унікальний

  • C

    Стовпець приймає значення, лише якщо значення не нульове

  • Д

    Стовпець приймає значення, що відповідають даному правилу

Пояснення:

CHECK застосовує умову для значень стовпців, відхиляючи будь-які дані, які порушують визначене правило.

Коли SQL запобігає INSERT за допомогою CHECK?

  • А

    Коли значення повторюється в стовпці

    перетворювач рядка в int
  • Б

    Коли значення порушує визначену умову

  • C

    Коли таблиця не має основного обмеження

  • Д

    Коли значення дорівнює NULL, а стовпець допускає значення NULL

Пояснення:

Якщо вставлені або оновлені дані порушуються, умова CHECK SQL скасовує операцію.

Де можна визначити обмеження CHECK?

  • А

    Тільки всередині синтаксису запиту SELECT

    містить підрядок java
  • Б

    Тільки після оголошення первинного ключа

  • C

    Під час створення або модифікації таблиці

  • Д

    Лише для числових стовпців із діапазонами

Пояснення:

CHECK можна додати під час створення таблиці або пізніше за допомогою оператора ALTER TABLE.

Що відбувається в обмеженні CHECK із кількома стовпцями?

  • А

    Умова може посилатися лише на один стовпець

  • Б

    Умова може посилатися на кілька стовпців

  • C

    Умова працює лише для числових стовпців

  • Д

    Умова ігнорує значення під час вставки

Пояснення:

CHECK може застосовувати правила, використовуючи два або більше стовпців, забезпечуючи комбіновану перевірку.

Яка вставка не відповідає обмеженню CHECK (Вік ≥ 18)?

  • А

    Вікове значення менше п'ятнадцяти років

    оцінка точності sklearn
  • Б

    Значення віку точно дорівнює вісімнадцяти

  • C

    Значення віку більше двадцяти п'яти

  • Д

    Значення віку зберігається як значення NULL

Пояснення:

Будь-яке значення нижче 18 порушує правило CHECK і призводить до помилки вставки.

SQL | ПЕРЕВІРИТИ обмеженняВікторина виконана успішно. Ваш результат:  2/5Точність: 0%Увійдіть, щоб переглянути пояснення 1/5 1/5 < Previous Далі >