Унікальний ключ у MySQL — це одне поле або комбінація полів, які гарантують, що всі значення, які зберігатимуться в стовпці, будуть унікальними. Це означає, що стовпець не може зберігати повторювані значення . Наприклад, електронні адреси та номери студентів у таблиці «student_info» або контактні номери співробітників у таблиці «Employee» мають бути унікальними.
круговий розклад
MySQL дозволяє нам використовувати в таблиці більше одного стовпця з обмеженням UNIQUE. Він може прийняти a нуль значення, але MySQL дозволяв лише одне нульове значення на стовпець. Це забезпечує цілісність стовпця або групи стовпців для зберігання різних значень у таблиці.
Потреби в унікальному ключі
- Це корисно для запобігання двом записам від зберігання однакових значень у стовпці.
- Він зберігає лише окремі значення, які підтримують цілісність і надійність бази даних для організованого доступу до інформації.
- Він також працює із зовнішнім ключем для збереження унікальності таблиці.
- Він може містити нульове значення в таблиці.
Синтаксис
Наступний синтаксис використовується для створення унікального ключа MySQL .
Якщо ми хочемо створити лише один унікальний ключовий стовпець у таблиці, скористайтеся наведеним нижче синтаксисом:
CREATE TABLE table_name( col1 datatype, col2 datatype UNIQUE, ... );
Якщо ми хочемо створити більше одного унікального ключового стовпця в таблиці, скористайтеся наведеним нижче синтаксисом:
CREATE TABLE table_name( col1 col_definition, col2 col_definition, ... [CONSTRAINT constraint_name] UNIQUE(column_name(s)) );
Якщо ми не вказали назву для унікального обмеження, MySQL автоматично генерує назву для цього стовпця. Тому при створенні таблиці рекомендується використовувати назву обмеження.
Параметр Пояснення
У наступній таблиці детально пояснюються параметри.
Назва параметра | Описи |
---|---|
ім'я_таблиці | Це ім'я таблиці, яку ми збираємося створити. |
col1, col2 | Це імена стовпців, які містяться в таблиці. |
назва_обмеження | Це назва унікального ключа. |
назва стовпців | Унікальним ключем буде назва стовпця. |
Унікальний приклад ключа
У наступному прикладі пояснюється, як унікальний ключ використовується в MySQL.
Цей оператор створює таблицю ' Студент2 ' з обмеженням UNIQUE:
CREATE TABLE Student2 ( Stud_ID int NOT NULL UNIQUE, Name varchar(45), Email varchar(45), Age int, City varchar(25) );
Далі виконайте наведені нижче запити на вставку, щоб зрозуміти, як це працює:
mysql> INSERT INTO Student2 (Stud_ID, Name, Email, Age, City) VALUES (1, 'Peter', '[email protected]', 22, 'Texas'), (2, 'Suzi', '[email protected]', 24, 'California'), (3, 'Joseph', '[email protected]', 23, 'Alaska'); mysql> INSERT INTO Student2 (Stud_ID, Name, Email, Age, City) VALUES (1, 'Stephen', '[email protected]', 22, 'Texas');
Вихід
У вихідних даних нижче ми бачимо, що перший INSERT запит виконується правильно, але другий оператор не виконується та видає помилку: повторюється запис '1' для ключа Stud_ID.
Якщо ви хочете визначити унікальний ключ на кілька стовпців , використовуйте запит, як показано нижче:
CREATE TABLE Student3 ( Stud_ID int, Roll_No int, Name varchar(45) NOT NULL, Email varchar(45), Age int, City varchar(25), CONSTRAINT uc_rollno_email Unique(Roll_No, Email) );
У вихідних даних ми бачимо, що унікальне значення ключа містить два стовпці, які є № рулону і Електронна пошта .
Щоб перевірити це, виконайте такий оператор:
mysql> SHOW INDEX FROM Student3;
Тут ми бачимо, що унікальне обмеження успішно додано до таблиці:
DROP Унікальний ключ
Оператор ALTER TABLE також дозволяє видалити унікальний ключ із таблиці. Для видалення унікального ключа використовується такий синтаксис:
ALTER TABLE table_name DROP INDEX constraint_name;
У наведеному вище синтаксисі, the ім'я_таблиці це ім'я таблиці, яку ми хочемо змінити, і назва_обмеження це ім'я унікального ключа, який ми збираємося видалити.
приклад
Ця заява видалить uc_rollno_email обмеження з таблиці постійно.
mysql> ALTER TABLE Student3 DROP INDEX uc_rollno_email;
Ми можемо виконати інструкцію SHOW INDEX для цього.
Унікальний ключ за допомогою оператора ALTER TABLE
Цей оператор дозволяє нам вносити зміни в існуючу таблицю. Іноді ми хочемо додати унікальний ключ до стовпця існуючої таблиці; потім цей оператор використовується для додавання унікального ключа для цього стовпця.
Синтаксис
Нижче наведено синтаксис оператора ALTER TABLE для додавання унікального ключа:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_list);
приклад
Цей оператор створює таблицю ' Студенти3 ', які не мають унікального ключового стовпця у визначенні таблиці.
CREATE TABLE Student3 ( Stud_ID int, Roll_No int, Name varchar(45) NOT NULL, Email varchar(45), Age int, City varchar(25) );
Після створення таблиці, якщо ми хочемо додати унікальний ключ до цієї таблиці, нам потрібно виконати оператор ALTER TABLE, як показано нижче:
mysql> ALTER TABLE Student3 ADD CONSTRAINT uc_rollno_email UNIQUE(Roll_No, Email);
Ми можемо побачити результат, де обидва оператори виконано успішно.
Щоб перевірити це, виконайте такий оператор:
mysql> SHOW INDEX FROM Student3;
Тут ми бачимо, що унікальне обмеження успішно додано до таблиці: