Введение
В этой лабораторной работе мы рассмотрим основные операции с данными в PostgreSQL. Наша главная цель — научиться манипулировать данными в базе данных PostgreSQL с помощью фундаментальных SQL-команд.
Мы начнем с подключения к базе данных и создания таблицы employees с колонками для ID, имени и отдела. Затем мы узнаем, как добавлять данные в таблицу с помощью оператора INSERT INTO. После этого мы разберем, как выполнять запросы с помощью SELECT, обновлять существующие записи и удалять их. Эта лабораторная работа дает практическое представление об основных методах управления данными в PostgreSQL.
Добавление данных в таблицы
На этом этапе мы научимся добавлять данные в таблицы PostgreSQL. Вставка данных — это базовая операция, необходимая для наполнения базы данных информацией. Мы разберем основной синтаксис и рассмотрим примеры, которые помогут вам понять этот процесс.
Перед началом убедитесь, что PostgreSQL установлен и запущен. Вы можете подключиться к серверу PostgreSQL с помощью инструмента командной строки psql.
Сначала подключимся к базе данных. Откройте терминал и выполните следующую команду:
sudo -u postgres psql
Теперь, когда мы подключились к базе данных, давайте создадим простую таблицу employees, если она еще не существует. Эта таблица будет хранить информацию о сотрудниках, такую как их ID, имя и отдел.
CREATE TABLE IF NOT EXISTS employees (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50)
);
Этот SQL-запрос создает таблицу employees с тремя колонками:
id: Целое число, которое автоматически увеличивается при добавлении каждой новой записи (используетсяSERIAL). Также является первичным ключом таблицы.name: Строка (до 50 символов) для хранения имени сотрудника.department: Строка (до 50 символов) для хранения отдела сотрудника.
Теперь добавим немного данных в таблицу employees. Мы вставим три записи о сотрудниках.
INSERT INTO employees (name, department) VALUES ('Alice Smith', 'Sales');
INSERT INTO employees (name, department) VALUES ('Bob Johnson', 'Marketing');
INSERT INTO employees (name, department) VALUES ('Charlie Brown', 'Engineering');
Каждый оператор INSERT INTO добавляет новую строку в таблицу employees. Мы указываем имя таблицы (employees) и колонки, в которые вставляем данные (name, department). После ключевого слова VALUES указываются сами данные, которые мы хотим вставить, заключенные в скобки.
Чтобы убедиться, что данные были добавлены правильно, мы можем сделать запрос к таблице employees с помощью оператора SELECT.
SELECT * FROM employees;
Это отобразит все строки и колонки в таблице employees. Вы должны увидеть три записи о сотрудниках, которые мы только что добавили. Вывод должен выглядеть примерно так:
id | name | department
----+---------------+------------
1 | Alice Smith | Sales
2 | Bob Johnson | Marketing
3 | Charlie Brown | Engineering
(3 rows)

Теперь вы успешно добавили данные в таблицу PostgreSQL. Вы можете продолжать добавлять новые записи по мере необходимости.
Наконец, выйдите из оболочки psql, введя:
\q
Это вернет вас в терминал.
Запрос данных с помощью SELECT
На этом этапе мы научимся извлекать данные из таблиц PostgreSQL с помощью оператора SELECT. Оператор SELECT является основой для получения информации из вашей базы данных. Мы рассмотрим базовый синтаксис, фильтрацию и сортировку, чтобы помочь вам освоить извлечение данных.
Сначала убедитесь, что вы подключены к базе данных. Если вы еще не подключены, откройте терминал и выполните следующую команду:
sudo -u postgres psql
Давайте научимся выбирать конкретные колонки. Допустим, мы хотим получить только колонки name и department.
SELECT name, department FROM employees;
Этот запрос вернет только колонки name и department для всех строк в таблице employees. Вывод должен выглядеть примерно так:
name | department
---------------+------------
Alice Smith | Sales
Bob Johnson | Marketing
Charlie Brown | Engineering
(3 rows)
Теперь добавим предложение WHERE для фильтрации результатов. Допустим, мы хотим получить только тех сотрудников, которые работают в отделе 'Sales'.
SELECT name, department FROM employees WHERE department = 'Sales';
Предложение WHERE задает условие, которое должно выполняться для включения строки в результат. В данном случае мы выбираем только те строки, где значение в колонке department равно 'Sales'. Вывод должен быть таким:
name | department
---------------+------------
Alice Smith | Sales
(1 row)
Наконец, давайте научимся сортировать результаты с помощью предложения ORDER BY. Допустим, мы хотим получить всех сотрудников, отсортированных по имени в алфавитном порядке.
SELECT name, department FROM employees ORDER BY name;
Этот запрос вернет все строки из таблицы employees, но результаты будут отсортированы по алфавиту в колонке name. Вывод должен быть таким:
name | department
---------------+------------
Alice Smith | Sales
Bob Johnson | Marketing
Charlie Brown | Engineering
(3 rows)
Чтобы отсортировать результаты в обратном порядке, можно добавить ключевое слово DESC после имени колонки.
SELECT name, department FROM employees ORDER BY name DESC;
Это отсортирует результаты в обратном алфавитном порядке.
Теперь вы научились извлекать данные из таблицы PostgreSQL с помощью оператора SELECT, включая выбор конкретных колонок, фильтрацию результатов с помощью WHERE и сортировку с помощью ORDER BY.

Наконец, выйдите из оболочки psql, введя:
\q
Обновление существующих записей
На этом этапе мы научимся обновлять существующие записи в таблице PostgreSQL с помощью оператора UPDATE. Обновление данных необходимо для поддержания актуальности и точности информации в вашей базе данных. Мы разберем основной синтаксис и рассмотрим примеры.
Сначала убедитесь, что вы подключены к базе данных. Если вы еще не подключены, откройте терминал и выполните следующую команду:
sudo -u postgres psql
Давайте изменим отдел 'Alice Smith' на 'Human Resources'.
UPDATE employees SET department = 'Human Resources' WHERE name = 'Alice Smith';
Оператор UPDATE изменяет существующие строки в таблице. Предложение SET указывает, какие колонки нужно обновить и какие новые значения им присвоить. Предложение WHERE указывает, какие именно строки нужно обновить. В данном случае мы обновляем колонку department на 'Human Resources' для строки, где значение в колонке name равно 'Alice Smith'.
Чтобы убедиться, что обновление прошло успешно, мы можем сделать запрос к таблице employees.
SELECT * FROM employees WHERE name = 'Alice Smith';
Это отобразит строку для 'Alice Smith', и вы увидите, что колонка department была обновлена на 'Human Resources'. Вывод должен выглядеть примерно так:
id | name | department
----+---------------+------------------
1 | Alice Smith | Human Resources
(1 row)
Вы также можете обновлять несколько колонок одновременно. Например, давайте изменим отдел Bob Johnson на 'Sales', а его имя — на 'Robert Johnson'.
UPDATE employees SET department = 'Sales', name = 'Robert Johnson' WHERE name = 'Bob Johnson';
Этот запрос обновляет и колонку department, и колонку name для строки, где значение в колонке name равно 'Bob Johnson'.
Чтобы проверить обновление, снова сделайте запрос к таблице employees.
SELECT * FROM employees WHERE name = 'Robert Johnson';
Вывод должен быть таким:
id | name | department
----+----------------+------------
2 | Robert Johnson | Sales
(1 row)
Важно быть осторожным при использовании оператора UPDATE, особенно если вы забыли указать предложение WHERE. Если пропустить WHERE, оператор UPDATE обновит все строки в таблице. Например:
UPDATE employees SET department = 'Unknown';
Этот запрос установит значение 'Unknown' в колонке department для каждой строки в таблице employees. Будьте очень осторожны при выполнении таких команд.

Теперь вы научились обновлять существующие записи в таблице PostgreSQL с помощью оператора UPDATE.
Наконец, выйдите из оболочки psql, введя:
\q
Удаление записей
На этом этапе мы научимся удалять записи из таблицы PostgreSQL с помощью оператора DELETE. Удаление данных — важная операция для очистки базы данных от устаревшей или неверной информации. Мы разберем основной синтаксис и рассмотрим примеры.
Сначала убедитесь, что вы подключены к базе данных. Если вы еще не подключены, откройте терминал и выполните следующую команду:
sudo -u postgres psql
Давайте удалим запись 'Charlie Brown' из таблицы employees.
DELETE FROM employees WHERE name = 'Charlie Brown';
Оператор DELETE FROM удаляет строки из таблицы. Предложение WHERE указывает, какие именно строки нужно удалить. В данном случае мы удаляем строку, где значение в колонке name равно 'Charlie Brown'.
Чтобы убедиться, что удаление прошло успешно, мы можем сделать запрос к таблице employees.
SELECT * FROM employees WHERE name = 'Charlie Brown';
Запрос не должен вернуть ни одной строки, что означает, что запись 'Charlie Brown' была удалена. Вывод должен быть таким:
id | name | department
----+------+------------
(0 rows)
Вы также можете удалять несколько строк одновременно, используя более сложное условие в WHERE. Например, если у вас было несколько сотрудников в отделе 'Marketing', вы могли бы удалить их всех одним запросом:
DELETE FROM employees WHERE department = 'Marketing';
Крайне важно быть очень осторожным при использовании оператора DELETE, особенно если вы забыли указать предложение WHERE. Если пропустить WHERE, оператор DELETE удалит все строки из таблицы. Например:
DELETE FROM employees;
Этот запрос удалит каждую строку в таблице employees, фактически очистив её. Будьте абсолютно уверены, что хотите удалить все строки, прежде чем выполнять такую команду.
Теперь вы научились удалять записи из таблицы PostgreSQL с помощью оператора DELETE.

Проверьте таблицу employees, чтобы убедиться, что удаление прошло успешно.
SELECT * FROM employees;
Вывод должен быть таким:
id | name | department
----+----------------+-----------------
1 | Alice Smith | Human Resources
2 | Robert Johnson | Sales
(2 rows)
Наконец, выйдите из оболочки psql, введя:
\q
Резюме
В этой лабораторной работе мы рассмотрели основные операции с данными в PostgreSQL, сосредоточившись на добавлении данных в таблицы. Мы начали с подключения к базе данных с помощью инструмента командной строки psql. Затем мы создали таблицу employees с колонками id, name и department, указав id в качестве первичного ключа с функцией автоинкремента.
Наконец, мы добавили три записи о сотрудниках в таблицу employees с помощью оператора INSERT INTO, указав имя таблицы, колонки для вставки данных и соответствующие значения для каждой записи. Это продемонстрировало базовый синтаксис наполнения таблицы PostgreSQL данными.


