SQL ПЕРВИЧНЫЙ КЛЮЧ
ОСНОВНОЙ КЛЮЧ
SQL PRIMARY KEY - это столбец в таблице, который должен содержать уникальное значение, которое можно использовать для уникальной идентификации каждой строки таблицы.
Тем не менее, SQL поддерживает первичные ключи напрямую с ограничением PRIMARY KEY.
Функционально это то же самое, что и ограничение UNIQUE, за исключением того, что для данной таблицы можно определить только один PRIMARY KEY. PRIMARY KEY не допускает значения NULL.
Первичный ключ используется для идентификации каждой строки идентично в таблице. Это может быть частью самой записи.
SQL PRIMARY KEY может состоять из одного или нескольких полей в таблице, и когда это происходит, они называются составным ключом.
Первичные ключи могут быть указаны во время CREATING TABLE или во время изменения структуры существующей таблицы с помощью инструкции ALTER TABLE.
Это ограничение является комбинацией ограничения NOT NULL и ограничения UNIQUE. Это ограничение гарантирует, что конкретный столбец или комбинация из двух или более столбцов для таблицы имеют уникальную идентификацию, которая помогает легче и быстрее найти конкретную запись в таблице.
Синтаксис:
CREATE TABLE <имя_таблицы> column1 data_type [(size)] NOT NULL PRIMARY KEY, column2 data_type [(size)], ...);
Параметры:
название | Описание |
---|---|
table_name | Имя таблицы, в которой хранятся данные. |
column1, column2 | Наименование столбцов таблицы. |
тип данных | Это char, varchar, целое число, десятичное число, дата и многое другое. |
размер | Максимальная длина столбца таблицы. |
Хорошая практика для первичных ключей в таблицах
- Первичные ключи должны быть настолько маленькими, насколько это необходимо. Предпочитайте числовой тип, потому что числовые типы хранятся в гораздо более компактном формате, чем символьные форматы.
- Первичные ключи никогда не должны меняться.
- Не используйте номер паспорта, номер социального страхования или номер контракта сотрудника в качестве «первичного ключа», так как эти «первичные ключи» могут меняться в реальных ситуациях.
Пример:
Предположим, мы собираемся создать таблицу с именем 'agent1'. Он содержит столбцы и типы данных, которые показаны ниже. Для каждой строки таблицы 'agent1' требуется идентифицировать каждого агента с помощью уникального кода, поскольку имена двух или более агентов в городе страны могут совпадать.
Так что не стоит создавать PRIMARY KEY для 'agent_name'. 'Agent_code' может быть единственным и исключительным выбором для PRIMARY KEY для этой таблицы.
Имя поля | Тип данных | Размер | Десятичные знаки | НОЛЬ | скованность |
---|---|---|---|---|---|
agent_code | голец | 6 | нет | ОСНОВНОЙ КЛЮЧ | |
имя агента | голец | 40 | нет | ||
рабочая область | голец | 35 | да | ||
комиссия | десятичный | 10 | 2 | да | |
номер телефона | голец | 17 | да |
При создании таблицы вы можете включить первичный ключ, используя ограничение первичного ключа на уровне столбца или ограничение на уровне таблицы. Вот два примера на упомянутой таблице:
Ограничение первичного ключа на уровне столбца:
Код SQL:
CREATE TABLE agent1(
<span class="style1">agent_code char(6) NOT NULL PRIMARY KEY</span>,
agent_name char(40) NOT NULL,
working_area char(35),
commission decimal(10,2),
phone_no char(17)
) ;
Ограничение первичного ключа на уровне таблицы:
Код SQL:
CREATE TABLE agent1(
agent_code char(6) NOT NULL,
agent_name char(40) NOT NULL,
working_area char(35),
commission decimal(10,2),
phone_no char(17),
<span class="style1">CONSTRAINT pk_agent_code PRIMARY KEY (agent_code))</span>;
) ;
SQL CREATE TABLE с основным ограничением
SQL PRIMARY KEY CONSTRAINT является комбинацией ограничения NOT NULL и ограничения UNIQUE. Это ограничение гарантирует, что конкретный столбец или комбинация из двух или более столбцов для таблицы имеют уникальную идентификацию, которая помогает легче и быстрее найти конкретную запись в таблице.
Пример :
В следующем примере создается таблица. Вот имя поля и типы данных:
Имя поля | Тип данных | Размер | Десятичные знаки | НОЛЬ | скованность |
---|---|---|---|---|---|
agent_code | голец | 6 | нет | ОСНОВНОЙ КЛЮЧ | |
имя агента | голец | 40 | нет | ||
рабочая область | голец | 35 | да | ||
комиссия | десятичный | 10 | 2 | да | |
номер телефона | голец | 17 | да |
можно использовать следующий оператор SQL:
Код SQL:
CREATE TABLE mytest(
agent_code char(6) NOT NULL PRIMARY KEY,
agent_name char(40) NOT NULL,
working_area char(35),
commission decimal(10,2),
phone_no char(17));
Чтобы увидеть структуру созданной таблицы:
Код SQL:
DESCRIBE mytest;
Выход :
SQL CREATE TABLE с первичным ключом и уникальным ограничением
В следующем примере создается таблица. Вот имя поля и типы данных:
Имя поля | Тип данных | Размер | Десятичные знаки | НОЛЬ | скованность |
---|---|---|---|---|---|
cust_code | голец | 6 | нет | ОСНОВНОЙ КЛЮЧ | |
CUST_NAME | голец | 25 | нет | УНИКАЛЬНАЯ | |
cust_city | голец | 25 | нет | ||
класс | целое число | да | |||
agent_code | голец | 6 | нет |
можно использовать следующий оператор SQL:
Код SQL:
CREATE TABLE mytest(
cust_code char(6) NOT NULL PRIMARY KEY,
cust_name char(25) NOT NULL UNIQUE,
cust_city char(25) NOT NULL,
grade integer,
agent_code char(6) NOT NULL);
Чтобы увидеть структуру созданной таблицы:
Код SQL:
DESCRIBE mytest;
Выход:
SQL CREATE TABLE с PRIMARY KEY CONSTRAINT для большего количества столбцов
В следующем разделе мы обсудим использование SQL PRIMARY KEY CONSTRAINT вместе с оператором CREATE TABLE для двух или более столбцов.
Пример:
В следующем примере создается таблица. Таблица должна содержать ПЕРВИЧНЫЙ КЛЮЧ с комбинацией двух столбцов 'cust_code' и 'cust_city'. Вот имя поля и типы данных:
Имя поля | Тип данных | Размер | Десятичные знаки | НОЛЬ | скованность |
---|---|---|---|---|---|
cust_code | голец | 6 | нет | ОСНОВНОЙ КЛЮЧ | |
CUST_NAME | голец | 25 | нет | ||
cust_city | голец | 25 | нет | ОСНОВНОЙ КЛЮЧ | |
класс | целое число | да | |||
agent_code | голец | 6 | нет |
можно использовать следующий оператор SQL:
Код SQL:
CREATE TABLE mytest(
cust_code char(6) NOT NULL,
cust_name char(25) NOT NULL,
cust_city char(25),
grade integer,
agent_code char(6) NOT NULL,
PRIMARY KEY (cust_code,cust_city));
Чтобы увидеть структуру созданной таблицы:
Код SQL:
DESCRIBE mytest;
Выход:
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущая: Создать таблицу
Далее: Внешний ключ
Новый контент: Composer: менеджер зависимостей для PHP , R программирования