Первинний ключ (PRIMARY KEY)

PRIMARY KEY в MySQL використовується для позначення стовпця або комбінації стовпців таблиці, які є унікальними і обов’язковими для кожного запису. Це означає, що значення в первинному ключі повинні бути унікальними і не можуть бути NULL. PRIMARY KEY є важливою частиною забезпечення цілісності даних в базі даних.
УнікальністьКожен запис у таблиці повинен мати унікальне значення в стовпцях, що є частиною первинного ключа. Це означає, що жодні два записи не можуть мати однакові значення для цього стовпця або комбінації стовпців.
Не допускає NULL значенняЗначення в стовпці, що є частиною первинного ключа, не можуть бути NULL. Це гарантує, що кожен запис в таблиці має дійсне і унікальне значення для цього стовпця.
Автоматичне створення індексуMySQL автоматично створює індекс для стовпця або комбінації стовпців, які є частиною первинного ключа. Це покращує швидкість пошуку та сортування даних.
Один первинний ключ на таблицюУ таблиці може бути лише один первинний ключ. Однак первинний ключ може складатися з кількох стовпців — це називається композитним первинним ключем.

Приклад зі простим первинним ключем:

CREATE TABLE users (
    user_id INT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    PRIMARY KEY (user_id)
);
INSERT INTO users (user_id, username, email)
VALUES 
(1, ‘james’, ‘james@example.com’ ),
(2, ‘jenny’, ‘jenny@example.com’ );

Приклад зі складеним первинним ключем:

CREATE TABLE enrollments (
    student_id INT,
    course_id INT,
    PRIMARY KEY (student_id, course_id)
);
INSERT INTO enrollments (student_id, course_id)
VALUES 
(101, 9 ),
(129, 8 );

AUTO_INCREMENT

AUTO_INCREMENT в MySQL — це атрибут, який автоматично генерує унікальні значення для стовпця при вставці нових рядків у таблицю. Зазвичай його використовують для первинного ключа (PRIMARY KEY), щоб забезпечити унікальність кожного рядка.
Автоматичне збільшення значенняПри кожній вставці нового рядка, значення поля з AUTO_INCREMENT автоматично збільшується на 1 (за замовчуванням).
Тип данихAUTO_INCREMENT працює тільки з числовими типами (INT, BIGINT, TINYINT тощо).
Має бути ключемНайчастіше AUTO_INCREMENT використовується з PRIMARY KEY.

Приклад:

CREATE TABLE users_autoinc (
    id INT AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (id)
);
INSERT INTO users_autoinc (name) VALUES ('Jenny');
INSERT INTO users_autoinc (id, name) VALUES (10, 'Penny');
INSERT INTO users_autoinc (name) VALUES ('Mary');
ALTER TABLE users_autoinc AUTO_INCREMENT = 100;
INSERT INTO users_autoinc (name) VALUES ('Ruby');

NOT NULL

Атрибут NOT NULL означає, що значення в цьому стовпці обов’язкове — тобто не може бути NULL (невизначеним або порожнім).

NOT NULL використовується для забезпечення обов’язковості введення даних у певне поле. Якщо ви спробуєте вставити або оновити рядок без значення в такому стовпці, MySQL видасть помилку.

Приклад:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    age INT
);
INSERT INTO employees (age) VALUES (30);
-- Помилка! Не вказано значення для name, яке має бути NOT NULL.
INSERT INTO employees (name, age) VALUES (‘Jenny’, 30);

Для додаткової візуалізації є відео.

Leave a Reply

Your email address will not be published. Required fields are marked *