PostgreSQL

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

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

Синтаксис:

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

>> СОЗДАТЬ ТАБЛИЦУ имя_таблицы (id SERIAL);

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

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

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

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

Пример 01:

Создайте таблицу «Тест» с двумя столбцами «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'), ('Хан');

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

>> ВЫБРАТЬ * ИЗ теста;

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

Пример 02:

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

>> INSERT INTO Test (name) VALUES ('Hassam') ВОЗВРАЩАЕМЫЙ идентификатор;

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

>> ВЫБРАТЬ * ИЗ теста;

Пример 03:

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

>> ВСТАВИТЬ Test (id, name) VALUES (DEFAULT, 'Raza');

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

>> ВЫБРАТЬ * ИЗ теста;

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

Пример 04:

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

>> ВЫБРАТЬ currval (pg_get_serial_sequence ('Test', 'id'));

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

Заключение:

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

Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...
Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...