Как добавить строку в постгрес через pgadmin
Сразу после создания таблицы она не содержит никаких данных. Поэтому, чтобы она была полезна, в неё прежде всего нужно добавить данные. По сути данные добавляются в таблицу по одной строке. И хотя вы конечно можете добавить в таблицу несколько строк, добавить в неё меньше, чем строку, невозможно. Даже если вы указываете значения только некоторых столбцов, создаётся полная строка.
Чтобы создать строку, вы будете использовать команду INSERT . В этой команде необходимо указать имя таблицы и значения столбцов. Например, рассмотрим таблицу товаров из Главы 5:
CREATE TABLE products ( product_no integer, name text, price numeric );
Добавить в неё строку можно было бы так:
INSERT INTO products VALUES (1, 'Cheese', 9.99);
Значения данных перечисляются в порядке столбцов в таблице и разделяются запятыми. Обычно в качестве значений указываются константы, но это могут быть и скалярные выражения.
Показанная выше запись имеет один недостаток — вам необходимо знать порядок столбцов в таблице. Чтобы избежать этого, можно перечислить столбцы явно. Например, следующие две команды дадут тот же результат, что и показанная выше:
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99); INSERT INTO products (name, price, product_no) VALUES ('Cheese', 9.99, 1);
Многие считают, что лучше всегда явно указывать имена столбцов.
Если значения определяются не для всех столбцов, лишние столбцы можно опустить. В таком случае эти столбцы получат значения по умолчанию. Например:
INSERT INTO products (product_no, name) VALUES (1, 'Cheese'); INSERT INTO products VALUES (1, 'Cheese');
Вторая форма является расширением PostgreSQL . Она заполняет столбцы слева по числу переданных значений, а все остальные столбцы принимают значения по умолчанию.
Для ясности можно также явно указать значения по умолчанию для отдельных столбцов или всей строки:
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', DEFAULT); INSERT INTO products DEFAULT VALUES;
Одна команда может вставить сразу несколько строк:
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99), (2, 'Bread', 1.99), (3, 'Milk', 2.99);
Также возможно вставить результат запроса (который может не содержать строк либо содержать одну или несколько):
INSERT INTO products (product_no, name, price) SELECT product_no, name, price FROM new_products WHERE release_date = 'today';
Это позволяет использовать все возможности механизма запросов SQL (см. Главу 7) для вычисления вставляемых строк.
Подсказка
Когда нужно добавить сразу множество строк, возможно будет лучше использовать команду COPY . Она не такая гибкая, как INSERT , но гораздо эффективнее. Дополнительно об ускорении массовой загрузки данных можно узнать в Разделе 14.4.
| Пред. | Наверх | След. |
| Глава 6. Модификация данных | Начало | 6.2. Изменение данных |
Операции с данными
Для добавления данных применяется команда INSERT , которая имеет следующий формальный синтаксис:
INSERT INTO имя_таблицы (столбец1, столбец2, . столбецN) VALUES (значение1, значение2, . значениеN)
После INSERT INTO идет имя таблицы, затем в скобках указываются все столбцы через запятую, в которые надо добавлять данные. И в конце после слова VALUES в скобках перечисляются добавляемые значения.
Допустим, у нас в базе данных есть следующая таблица:
CREATE TABLE Products ( Id SERIAL PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INTEGER DEFAULT 0, Price NUMERIC );
Добавим в нее одну строку с помощью команды INSERT:
INSERT INTO Products VALUES (1, 'Galaxy S9', 'Samsung', 4, 63000)
После удачного выполнения в pgAdmin в поле сообщений должно появиться сообщение «INSERT 0 1»:

Стоит учитывать, что значения для столбцов в скобках после ключевого слова VALUES передаются по порядку их объявления. Например, в выражении CREATE TABLE выше можно увидеть, что первым столбцом идет Id, поэтому этому столбцу передаетсячисло 1. Второй столбец называется ProductName, поэтому второе значение — строка «Galaxy S9» будет передано именно этому столбцу и так далее. То есть значения передаются столбцам следующим образом:
- Id: 1
- ProductName: ‘Galaxy S9’
- Manufacturer: ‘Samsung’
- ProductCount: 4
- Price: 63000
Также при вводе значений можно указать непосредственные столбцы, в которые будут добавляться значения:
INSERT INTO Products (ProductName, Price, Manufacturer) VALUES ('iPhone X', 71000, 'Apple');
Здесь значение указывается только для трех столбцов. Причем теперь значения передаются в порядке следования столбцов:
- ProductName: ‘iPhone X’
- Manufacturer: ‘Apple’
- Price: 71000
Для столбца Id значение будет генерироваться автоматически базой данных, так как он представляет тип Serial. То есть к значению из последней строки будет добавляться единица.
Для остальных столбцов будет добавляться значение по умолчанию, если задан атрибут DEFAULT (например, для столбца ProductCount), значение NULL. При этом неуказанные столбцы (за исключением тех, которые имеют тип Serial) должны допускать значение NULL или иметь атрибут DEFAULT.
Если конкретные столбцы не указываются, как в первом примере, тогда мы должны передать значения для всех столбцов в таблице.
Также мы можем добавить сразу несколько строк:
INSERT INTO Products (ProductName, Manufacturer, ProductCount, Price) VALUES ('iPhone 6', 'Apple', 3, 36000), ('Galaxy S8', 'Samsung', 2, 46000), ('Galaxy S8 Plus', 'Samsung', 1, 56000)
В данном случае в таблицу будут добавлены три строки.
Возвращение значений
Если мы добавляем значения только для части столбцов, то мы можем не знать, какие значения будут у других столбцов. Например, какое значени получит столбец Id у товара. С помощью оператора RETURNING мы можем получить это значение:
INSERT INTO Products (ProductName, Manufacturer, ProductCount, Price) VALUES('Desire 12', 'HTC', 8, 21000) RETURNING id;
6.1. Добавление данных
Сразу после создания таблицы она не содержит никаких данных. Поэтому, чтобы она была полезна, в неё прежде всего нужно добавить данные. По сути данные добавляются в таблицу по одной строке. И хотя вы конечно можете добавить в таблицу несколько строк, добавить в неё меньше, чем строку, невозможно. Даже если вы указываете значения только некоторых колонок, создаётся полная строка.
Чтобы создать строку, вы будете использовать команду INSERT. В этой команде необходимо указать имя таблицы и значения колонок. Например, рассмотрим таблицу товаров из Главы 5:
CREATE TABLE products ( product_no integer, name text, price numeric );
Добавить в неё строку можно было бы так:
INSERT INTO products VALUES (1, 'Cheese', 9.99);
Значения данных перечисляются в порядке колонок в таблице и разделяются запятыми. Обычно в качестве значений указываются константы, но это могут быть и скалярные выражения.
Показанная выше запись имеет один недостаток — вам необходимо знать порядок колонок в таблице. Чтобы избежать этого, можно перечислить колонки явно. Например, следующие две команды дадут тот же результат, что и показанная выше:
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99); INSERT INTO products (name, price, product_no) VALUES ('Cheese', 9.99, 1);
Многие считают, что лучше всегда явно указывать имена колонок.
Если значения определяются не для всех колонок, лишние колонки можно опустить. В таком случае эти колонки получат значения по умолчанию. Например:
INSERT INTO products (product_no, name) VALUES (1, 'Cheese'); INSERT INTO products VALUES (1, 'Cheese');
Вторая форма является расширением PostgreSQL . Она заполняет колонки слева по числу переданных значений, а все остальные колонки принимают значения по умолчанию.
Для ясности можно также явно указать значения по умолчанию для отдельных колонок или всей строки:
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', DEFAULT); INSERT INTO products DEFAULT VALUES;
Одна команда может вставить сразу несколько строк:
INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99), (2, 'Bread', 1.99), (3, 'Milk', 2.99);
Подсказка: Когда нужно добавить сразу множество строк, возможно будет лучше использовать команду COPY. Она не такая гибкая, как INSERT, но гораздо эффективнее. Дополнительно об ускорении массовой загрузки данных можно узнать в Разделе 14.4.
| Пред. | Начало | След. |
| Модификация данных | Уровень выше | Изменение данных |
Как подключиться к базе данных PostgreSQL
Подключиться к облачной базе данных PostgreSQL можно с помощью командной строки или графического клиента.
Как подключиться к облачной базе данных PostgreSQL через командную строку
psql — терминальный клиент PostgreSQL для взаимодействия с базой данных через командную строку. Этот инструмент позволяет выполнять SQL-запросы, управлять базой данных, создавать и изменять таблицы, выполнять административные задачи.
Шаг 1. Установка PostgreSQL-клиента
Откройте командную строку.
Обновите индексы пакетов с помощью команды:
sudo apt update
Установите PostgreSQL. Для этого введите в командную строку:
sudo apt install postgresql postgresql-contrib
Запустите службу PostgreSQL:
sudo service postgresql start
Готово. PostgreSQL установлен и работает на вашем сервере.
Шаг 2. Подключение к облачной базе данных PostgreSQL
Откройте командную строку.
Для подключения к базе данных используйте команду psql:
psql -h 123.123.123.123 -p 12345 -U user -d db
Где: 123.123.123.123 — хост-адрес базы данных, 12345 — порт кластера, user — имя пользователя базы данных, db — имя базы данных.
Введите пароль от вашей облачной базы данных.
Готово. Теперь вы подключены к облачной базе данных и можете выполнять SQL-запросы и другие операции с помощью psql.
Как подключиться к облачной базе данных PostgreSQL через графический клиент pgAdmin
pgAdmin — графический клиент для управления базами данных PostgreSQL. Он предоставляет инструменты для выполнения различных задач.
Ключевые функции pgAdmin:
— подключение к серверу PostgreSQL и просмотр списка доступных баз данных;
— создание и изменение объектов базы данных: таблиц, представлений, функций, индексов и других объектов базы данных;
— выполнение SQL-запросов через интерфейс Query Tool;
— администрирование пользователей и ролей;
— просмотр статистики работы сервера, текущих соединений, использования ресурсов и т. д.;
— экспорт и импорт данных;
— визуальное представление структуры базы данных.
Для подключения к облачной базе данных PostgreSQL через pgAdmin следуйте инструкции ниже.
Шаг 1. Установка pgAdmin
Скачайте клиент с официального сайта.
Запустите установочный файл.

Выберите параметр установки: — Install for me only (Установить только для меня), — Install for all users (Установить для всех пользователей).

Нажмите Next (Далее):

Примите пользовательское соглашение и нажмите Next (Далее):

Нажмите Next (Далее), чтобы продолжить установку. Чтобы изменить папку установки, нажмите Browse (Обзор) и выберите нужную папку:

Для установки клиента нажмите Install (Установить):

Дождитесь завершения установки и нажмите Finish (Завершить):
Шаг 2. Создание подключения к кластеру базы данных
Запустите pgAdmin.

Создайте новое подключение. Для этого на главной странице на вкладке Dashboard (Панель информации) нажмите Add New Server (Добавить новый сервер):

На вкладке General (Общее) введите имя сервера в поле Name (Имя):
Переключитесь на вкладку Connection (Соединение).

Заполните необходимые поля: — Host name/address (Имя хоста/адрес) — введите хост-адрес вашей облачной базы данных, — Port (Порт) — введите порт вашего кластера, — Maintenance database (База данных обслуживания) — введите название вашей базы, — Username (Пользователь) — введите имя пользователя, — Password (Пароль) — введите пароль. Нажмите Save (Сохранить):
Вернитесь на главное окно pgAdmin.

Дважды кликните по созданному вами подключению в панели слева:

Введите пароль. По необходимости нажмите Save Password (Сохранить пароль). Нажмите OK:
Готово. Вы подключились к облачной базе данных PostgreSQL через pgAdmin:

Теперь вы можете управлять базой данных, выполнять запросы и просматривать данные с помощью интерфейса pgAdmin.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь