От автора: в этой статье мы поговорим про создание первичного ключа SQL. Первичный ключ — это поле в таблице, которое однозначно идентифицирует каждую строку/запись в таблице базы данных. Первичные ключи должны содержать уникальные значения. В столбце первичного ключа не может содержаться значений NULL.
В таблице может быть только один первичный ключ, который может состоять из одного или нескольких полей. Когда в качестве первичного ключа используются несколько полей, он называется составным.
Если для таблицы первичный ключ задан в определенном поле, то в этом поле не может содержаться двух записей с одинаковыми значениями.
Примечание. Вы должны учитывать данные принципы при создании таблиц базы данных.
Создание первичного ключа
Ниже приведен код, в котором столбец ID определяется в качестве первичного ключа для таблицы CUSTOMERS.
1 2 3 4 5 6 7 8 |
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) ); |
Чтобы создать ограничение в столбце ID, когда таблица CUSTOMERS уже существует, используйте следующий синтаксис SQL:
1 |
ALTER TABLE CUSTOMER ADD PRIMARY KEY (ID); |
ПРИМЕЧАНИЕ. Если для добавления первичного ключа вы используете инструкцию ALTER TABLE, для столбцов первичных ключей при создании таблицы должно быть указано ограничение NOT NULL.
Для определения ограничения PRIMARY KEY для нескольких столбцов используйте следующий синтаксис SQL.
1 2 3 4 5 6 7 8 |
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID, NAME) ); |
Чтобы создать ограничение PRIMARY KEY в столбцах ID и NAMES, когда таблица CUSTOMERS уже существует, используйте следующий синтаксис SQL.
1 2 |
ALTER TABLE CUSTOMERS ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID, NAME); |
Удаление первичного ключа
Вы можете удалить ограничение PRIMARY KEY с помощью синтаксиса, приведенного ниже.
1 |
ALTER TABLE CUSTOMERS DROP PRIMARY KEY ; |
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.
Комментарии (1)