logo

Унікальний ключ MySQL

Унікальний ключ у 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.

Унікальний ключ MySQL

Якщо ви хочете визначити унікальний ключ на кілька стовпців , використовуйте запит, як показано нижче:

 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

Щоб перевірити це, виконайте такий оператор:

 mysql> SHOW INDEX FROM Student3; 

Тут ми бачимо, що унікальне обмеження успішно додано до таблиці:

Унікальний ключ MySQL

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

Щоб перевірити це, виконайте такий оператор:

 mysql> SHOW INDEX FROM Student3; 

Тут ми бачимо, що унікальне обмеження успішно додано до таблиці:

Унікальний ключ MySQL