- Что такое язык SQL
- Создание базы данных
- Как создать таблицу
- Как редактировать запись
- Как удалить запись
- Как выбрать запись
- Удаление таблиц
- Выводы
Для работы с данными в СУБД существует специальный язык — SQL. В этом уроке мы познакомимся с ним и его базовыми возможностями.
Что такое язык SQL
SQL (Structured Query Language) — это язык, который помогает управлять данными в СУБД.
SQL позволяет:
-
Управлять данными внутри таблицы — добавлять их, редактировать, выбирать.
-
Менять структуру самих таблиц и баз данных.
Язык SQL разрабатывается независимо от СУБД и имеет собственный стандарт, который реализуют конкретные базы данных. Поэтому на базовом уровне все реляционные базы данных работают примерно одинаково.
В курсе мы будем использовать СУБД PostgreSQL, но когда вы научитесь работать с одной СУБД, сможете спокойно переключиться на другую.
Создание базы данных
Чтобы начать работать с базой данных, ее нужно создать. Чтобы это сделать, нужно установить СУБД на специальный компьютер — сервер.
Сама по себе СУБД может не иметь графического интерфейса, в таком случае мы используем запросы на языке SQL.
Для начала создадим базу данных для школы Хекслет с помощью такой команды:
CREATE DATABASE hexlet_db;
Как создать таблицу
Теперь у нас есть база данных — можем создать в ней первую таблицу.
Возьмем для примера таблицу users
и ее структуру:
first_name string
last_name string
email string
created_at datetime
Чтобы создать таблицу, нужно выполнить такой запрос:
CREATE TABLE users (
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(255),
created_at TIMESTAMP
);
Вы могли заметить, что запросы на языке SQL похожи на обычный текст на английском языке. Если перевести запросы, мы получим такие предложения:
-
«Создать базу данных
hexlet_db
» -
«Создать таблицу
users
со следующей структурой»
Дело в том, что SQL — это декларативный язык программирования. Он описывает, что нужно получить, не объясняя, как именно нужно прийти к такому результату.
Теперь мы можем добавить нескольких пользователей в таблицу:
INSERT INTO users
(first_name, last_name, email, created_at)
VALUES ('Lucienne', 'Feil', 'Trevion53@yahoo.com', '2022-06-14 18:31:05.296');
INSERT INTO users
(first_name, last_name, email, created_at)
VALUES ('Ramiro', 'Wolf', 'Baylee52@yahoo.com', '2022-06-14 02:04:13.104');
INSERT INTO users
(first_name, last_name, email, created_at)
VALUES ('Maureen', 'Romaguera', 'Casimer_Cronin@yahoo.com', '2022-06-14 02:28:26.058');
Вот такая таблица у нас получится:
first_name | last_name | created_at | |
---|---|---|---|
Lucienne |
Feil |
Trevion53@yahoo.com |
2022-06-14 18:31:05.296 |
Ramiro |
Wolf |
Baylee52@yahoo.com |
2022-06-14 02:04:13.104 |
Maureen |
Romaguera |
Casimer_Cronin@yahoo.com |
2022-06-14 02:28:26.058 |
Как редактировать запись
После добавления мы заметили ошибку в данных — у пользователя Maureen Romaguera неверно указана электронная почта.
Давайте исправим эту ошибку. Напишем запрос на редактирование записи:
UPDATE users SET email = 'Casimer_Cronin@gmail.com' WHERE last_name = 'Romaguera';
Снова запрос очень похож на инструкцию: «Обнови таблицу users
— у пользователя по фамилии Romaguera значение в поле email должно быть следующим…».
Посмотрим на пример запроса, который извлекает информацию о пользователях из этой таблицы:
SELECT * FROM users;
Этот запрос вернет все строки в таблице:
first_name | last_name | created_at | |
---|---|---|---|
Lucienne |
Feil |
Trevion53@yahoo.com |
2022-06-14 18:31:05.296 |
Ramiro |
Wolf |
Baylee52@yahoo.com |
2022-06-14 02:04:13.104 |
Maureen |
Romaguera |
Casimer_Cronin@gmail.com |
2022-06-14 02:28:26.058 |
View On DB Fiddle
Как удалить запись
Еще одна достаточно частая операция — удаление записей. Давайте удалим нашего пользователя из таблицы:
DELETE FROM users WHERE last_name = 'Romaguera';
И снова выведем всю таблицу:
SELECT * FROM users;
Получилась такая таблица:
first_name | last_name | created_at | |
---|---|---|---|
Lucienne |
Feil |
Trevion53@yahoo.com |
2022-06-14 18:31:05.296 |
Ramiro |
Wolf |
Baylee52@yahoo.com |
2022-06-14 02:04:13.104 |
View On DB Fiddle
Как выбрать запись
Обычно данные нужны не все сразу, а по частям. Например, когда мы заходим в описание одного курса на Хекслете, то ожидаем увидеть информацию только по этому курсу, а не по всем курсам сразу.
Чтобы выбрать определенные строки, можно добавить в запрос условия. Например, выберем пользователей с именем Ramiro:
SELECT * FROM users WHERE first_name = 'Ramiro';
first_name |
last_name |
created_at |
|
Ramiro |
Wolf |
Baylee52@yahoo.com |
2022-06-14T02:04:13.104Z |
View On DB Fiddle
Все примеры из этого урока — лишь вершина айсберга возможностей языка SQL. На самом деле, язык SQL позволяет строить более сложные запросы с несколькими условиями. Такие запросы мы научимся составлять в ходе курса.
Удаление таблиц
Чтобы удалить таблицу, выполняется запрос DROP
:
DROP TABLE users;
View On DB Fiddle
Будьте внимательны, так как удаление таблицы приводит к безвозвратной потере данных.
Выводы
В этом уроке мы познакомились с базовыми возможностями языка SQL. Мы рассмотрели этапы создания базы данных и узнали, как гибко можно применять SQL.
Дальше в курсе мы будем на практике применять стандартные возможности языка для выборки данных из таблиц.
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.