Как использовать SQL?
Теория📚
База данных - очень важная технология, без которой невозможна работа программиста. Она нужна для хранения огромного объема различных данных и работы с ними. SQL – стандартный язык запросов по работе с ними, который делится на несколько разделов:
1) DDL - язык для работы с различными объектами (баз данных, таблиц, пользователей и т.п.).
Список команд DDL:
- CREATE - создает объект
- DROP - удаляет объект
- ALERT - изменяет структуру объекта
2) DML - язык для работы со строками в таблицах
Список команд DML:
- INSERT INTO - создает строку
- DELETE - удаляет строку
- UPDATE - изменяет структуру строки
- SELECT - извлекает строку из таблицы
3) DCL - язык управления правами доступа
Список команд DCL:
- GRANT - предоставляет права доступа
- REVOKE - отзывает разрешения
В SQL используются стандартные типы данных из программирования:
- INT - целочисленный
- DOUBLE - числа с плавающей запятой
- VARCHAR(N) - текст длиной N
- DATETIME - тип даты и времени
Практика👨🏻💻
Рассмотрим на практике применение основных команд, написанных выше.
1) Для начала установите PostgreSQL (или другую реляционную СУБД) на ваш компьютер. Давайте начнем с создания нашей первой базы данных (БД) store с помощью команды CREATE:
CREATE DATABASE store;
2) Затем создадим таблицу products внутри нашей БД, в которой будут указаны атрибуты (колонки) с их типом данных:
CREATE TABLE products(
id INT,
name VARCHAR(20)
);
3) Изменим таблицу, добавив новый атрибут:
ALTER TABLE products
ADD quantity INT;
4) Добавим строчки, используя INSERT INTO:
INSERT INTO products VALUES
(1, “яблоко”, 30),
(2, “груша”, 10),
(3, “сыр”, 20),
(4, “кокос”, 3),
(5, “колбаса”, 17);
5) Изменим количество какого-либо продукта (например, груш). В запросе будет использоваться уже известное слово UPDATE, а также еще неизвестныe нам слова:
- SET изменяет значение выбранного атрибута
- WHERE делает выбор строк по заданному условию, в которых изменится значение. Без него будут изменены все строки таблицы
UPDATE products
SET quantity = 28
WHERE name = “груша”;
6) ) Удалим все строки, именем которых является “кокос”:
DELETE FROM products
WHERE name = “кокос”;
7) Давайте выведем имена всех продуктов, количество которых находится в промежутке [20, 29]:
SELECT name, quantity
FROM products
WHERE quantity BETWEEN 20 AND 29;
8) Выведем id и name продуктов в порядке возрастания их количества:
SELECT id, name
FROM products
ORDER BY quantity ASC;
9) Давайте попробуем еще одно крайне важное ключевое слово: DROP. Удалим таблицу products, а вместе с ней и все данные в ней:
DROP TABLE products;
Теперь мы никак не сможем использовать эту таблицу. Вот пример самого простого SQL запроса, который мы не сможем выполнить:
SELECT *
FROM products;
выведется ошибка: #1146 - Таблица 'store.products' не существует
10) Пришла пора распрощаться с нашей БД:
DROP DATABASE store;
Базовые правила работы с SQL🚧
Мы выделили основные правила для эффективной работы с СУБД. Придерживаясь их, у вас будет надежная и безопасная база данных.
📌Создание схемы базы данных:
- Определите структуру базы данных, создав таблицы с определением столбцов, их типов данных и ограничений.
- Уделяйте внимание нормализации базы данных для уменьшения избыточности данных.
📌Определение ключевых полей:
- Устанавливайте первичные и внешние ключи для поддержания целостности данных и обеспечения связей между таблицами.
📌Запросы:
- Пишите эффективные SQL-запросы, избегая использования оператора "*" и выбирая только необходимые столбцы.
📌Безопасность:
- Предотвращайте SQL-инъекции, используя параметризованные запросы или ORM (Object-Relational Mapping).
- Управляйте правами доступа к базе данных, ограничивая доступ только необходимым пользователям.
📌Резервное копирование и восстановление:
- Регулярно создавайте резервные копии базы данных и проверяйте их восстановление.
- Задокументируйте процедуры восстановления.
Подведем итог🌐
Важно помнить, что работа с SQL и СУБД требует понимания основных концепций и тщательного планирования, чтобы создать эффективную и надежную базу данных. Следуя базовым правилам и рекомендациям, можно сделать процесс управления данными более эффективным и безопасным.
Для дальнейшего изучения и получения более подробной информации SQL и СУБД рекомендуем обратиться к дополнительным материалам или документации по конкретной СУБД, которую вы используете. Удачи💙
Дорожная карта для наглядного изучения SQL
Интерактивные уроки для начинающих и продвинутых пользователей SQL