Как установить автоинкрементный первичный ключ PostgreSQL?

автоинкрементный первичный ключ PostgreSQL База данных

Могут быть случаи, когда вы создаете и поддерживаете таблицы в PostgreSQL, когда вам нужны определенные значения для столбца, который создается по запросу. Это особенно верно для столбцов «id», которые действуют как первичный ключ таблицы. К счастью, псевдотип SERIAL позволяет сделать удобными целочисленные серии с автоматическим приращением. Серия — это тип объекта базы данных в PostgreSQL, который производит серию индексов или целых чисел. Последовательность PostgreSQL создает строку различных целых чисел, что делает ее пригодной для использования в качестве первичного ключа при создании новой таблицы. Мы продемонстрируем вам, что такое автоинкрементное меню в PostgreSQL, и в этом руководстве мы будем использовать псевдотип SERIAL.

Синтаксис

Общий синтаксис для создания первичного ключа с автоинкрементом следующий:

>> CREATE TABLE table_name ( id SERIAL );

Давайте теперь посмотрим на объявление CREATE TABLE более подробно:

  • PostgreSQL сначала создает объект серии. Он создает следующее значение в серии и устанавливает его в качестве эталонного значения поля по умолчанию.
  • PostgreSQL применяет неявное ограничение NOT NULL к полю идентификатора, поскольку ряд производит числовые значения.
  • Поле id будет назначено держателем серии. Если поле id или сама таблица опущены, последовательность будет отброшена.

Чтобы понять концепцию автоинкремента, убедитесь, что PostgreSQL смонтирован и настроен в вашей системе, прежде чем продолжить работу с иллюстрациями в этом руководстве. Откройте оболочку командной строки PostgreSQL с рабочего стола. Добавьте имя сервера, на котором вы хотите работать, в противном случае оставьте значение по умолчанию. Напишите имя базы данных, которая находится на вашем сервере, на котором вы хотите работать. Если вы не хотите его менять, оставьте значение по умолчанию. Мы будем использовать «тестовую» базу данных, поэтому добавили ее. Вы также можете работать с портом по умолчанию 5432, но вы также можете его изменить. В конце концов, вы должны указать имя пользователя для выбранной вами базы данных. Оставьте значение по умолчанию, если вы не хотите его менять. Введите свой пароль для выбранного имени пользователя и нажмите «Enter» на клавиатуре, чтобы начать использовать командную оболочку.

Читайте также:  Что такое CTE в PostgreSQL?

Введите свой пароль для выбранного имени пользователя и нажмите

Использование серийного ключевого слова в качестве типа данных

Когда мы создаем таблицу, мы обычно не добавляем ключевое слово SERIAL в поле основного столбца. Это означает, что мы должны добавить значения в столбец первичного ключа при использовании оператора INSERT. Но когда мы используем ключевое слово SERIAL в нашем запросе при создании таблицы, нам не нужно добавлять значения основного столбца при вставке значений. Давайте взглянем на это.

Пример 1

Создайте таблицу «Тест» с двумя столбцами «id» и «name». Столбец «id» был определен как столбец первичного ключа, так как его тип данных — SERIAL. С другой стороны, столбец «имя» определяется как тип данных TEXT NOT NULL. Попробуйте выполнить команду ниже, чтобы создать таблицу, и таблица будет создана эффективно, как показано на изображении ниже.

>> CREATE TABLE Test( id SERIAL PRIMARY KEY, name TEXT NOT NULL);

Попробуйте выполнить команду ниже, чтобы создать таблицу

Вставим несколько значений в столбец «имя» вновь созданной таблицы «ТЕСТ». Мы не будем добавлять никакого значения в столбец «id». Вы можете видеть, что значения были успешно вставлены с помощью команды INSERT, как указано ниже.

>> INSERT INTO Test(name) VALUES (‘Aqsa’)(‘Rimsha’)(‘Khan’);

Вставим несколько значений в столбец «имя» вновь созданной таблицы

Пришло время проверить записи таблицы «Тест». Попробуйте выполнить приведенную ниже инструкцию SELECT в командной оболочке.

>> SELECT * FROM Test;

Из выходных данных ниже вы можете заметить, что столбец «id» автоматически содержит некоторые значения, хотя мы не добавляли никаких значений из команды INSERT из-за типа данных SERIAL, который мы указали для столбца «id». Вот как тип данных SERIAL работает сам по себе.

Из выходных данных ниже вы можете заметить, что столбец

Пример 2

Другой способ проверить значение столбца типа данных SERIAL — использовать ключевое слово RETURNING в команде INSERT. Объявление ниже создает новую строку в таблице «Тест» и дает значение для поля «id»:

>> INSERT INTO Test(name) VALUES (‘Hassam’) RETURNING id;

Другой способ проверить значение столбца типа данных SERIAL

Проверив записи таблицы «Тест» с помощью запроса SELECT, мы получили следующий результат, как показано на изображении. Пятая запись оперативно добавлена ​​в таблицу.

>> SELECT * FROM Test;

Пример 3

Альтернативная версия указанного выше запроса на вставку использует ключевое слово DEFAULT. Мы будем использовать имя столбца «id» в команде INSERT, а в разделе VALUES мы дадим ему ключевое слово DEFAULT в качестве его значения. Приведенный ниже запрос будет работать так же после выполнения.

>> INSERT INTO Test(id, name) VALUES (DEFAULT, ‘Raza’);

Альтернативная версия указанного выше запроса на вставку использует ключевое слово

Давайте еще раз проверим таблицу, используя запрос SELECT следующим образом:

>> SELECT * FROM Test;

Вы можете видеть из вывода ниже, новое значение было добавлено, а столбец «id» был увеличен по умолчанию.

Вы можете видеть из вывода ниже, новое значение было добавлено

Пример 4

Порядковый номер поля столбца SERIAL можно найти в таблице в PostgreSQL. Для этого используется метод pg_get_serial_sequence (). Мы должны использовать функцию currval () вместе с методом pg_get_serial_sequence (). В этом запросе мы будем указывать имя таблицы и имя ее столбца SERIAL в параметрах функции pg_get_serial_sequence (). Как видите, мы указали таблицу «Тест» и столбец «id». Этот метод используется в приведенном ниже примере запроса:

>> SELECT currval(pg_get_serial_sequence(‘Test’, ‘id));

Стоит отметить, что наша функция currval () помогает нам извлечь самое последнее значение последовательности, равное «5». На картинке ниже показано, как может выглядеть спектакль.

Стоит отметить, что наша функция

Заключение

В этом руководстве мы продемонстрировали, как использовать псевдотип SERIAL для автоматического увеличения в PostgreSQL. Используя ряды в PostgreSQL, легко создать автоматически увеличивающийся набор чисел. Надеюсь, вы сможете применить поле SERIAL к описанию таблиц, используя наши иллюстрации в качестве справки.

Оцените статью
bestprogrammer.ru
Добавить комментарий