Смотрите еще статьи из цикла:

Введение

SQL – это предметно-ориентированный язык, используемый в программировании и предназначенный для управления данными, хранящимися в системе управления реляционными базами данных, или для потоковой обработки в системе управления реляционными потоками данных. Это особенно полезно при работе со структурированными данными, такими как Википедия

Короче говоря, это язык, который мы используем для создания базы данных, помещения в нее данных, чтения этих данных и так далее.

Ниже вы можете найти несколько упражнений, которые проведут вас по всем основным командам SQL, которые вы можете использовать для ознакомления с синтаксисом и концепциями.

Вы можете использовать редактор SQL W3Schools, чтобы поиграть с командами SQL прямо в браузере: https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

Структура таблицы базы данных

Синтаксис

Объекты базы данных

  • Таблица: набор строк​
  • Строка (или запись): фактические данные​
  • Поле (или ячейка): элемент данных​
  • Столбец: название полей

Ключевые слова для управления данными:

  • SELECT — запрос/выбор данных в одной или нескольких таблицах.
  • ВСТАВИТЬ — добавить значения в таблицу.
  • ОБНОВЛЕНИЕ — изменение/обновление значений в таблице.
  • УДАЛИТЬ — удалить данные из таблицы.

Ключевые слова для управления таблицами:

  • CREATE — создать новую таблицу
  • ALTER — редактирование/обновление структуры таблицы (добавление/удаление столбцов, изменение типа данных столбца)
  • DROP — удалить таблицу.

Упражнения с решением

#1 Создайте таблицу ShopProducts со следующими столбцами: ProductID, ProductName, Price, DateAdded.

--create table
CREATE TABLE ShopProducts(
ProductID INTEGER PRIMARY KEY AUTOINCREMENT,
ProductName varchar(50),
Price decimal,
DateAdded timestamp DEFAULT CURRENT_TIMESTAMP)

#2 Вставьте пару значений в таблицу ShopProducts

--insert values into a table
INSERT INTO ShopProducts(ProductName,Price)
VALUES 
('Iphone 13 Pro Max', 1800),
('S22 Ultra', 1500),
('3310', 9000),
('Xperia X', 500)

#3 Выберите все столбцы из таблицы «Продукты»

--select values from all(*) columns of a table
SELECT * FROM ShopProducts

#4 Выберите только определенные столбцы

--select values from only certain columns
SELECT ProductName, Price FROM ShopProducts

# 5 Выберите ProductName и Price для продуктов с ценой ниже 10

--select values that based on a condition
SELECT ProductName, PRICE FROM ShopProducts WHERE PRICE < 1600

# 6 Выберите ProductName и Price для продуктов с ценой от 1000 до 2000

--select values that based on multiple conditions
SELECT ProductName, Price FROM ShopProducts WHERE Price > 1000 AND Price < 2000

#7 Подсчитайте сумму всех цен

--select the sum of all values in a column
SELECT SUM(Price) FROM ShopProducts

#8 Выберите количество строк в таблице

--select the number of rows in a table
SELECT COUNT(*) FROM ShopProducts

#9 Выберите максимальное значение столбца

--select the maximum values of a column
SELECT ProductName, MAX(Price) FROM ShopProducts

# 10 Упорядочить данные по цене (запускать запросы один за другим)

--order data ascending
SELECT * FROM ShopProducts ORDER BY Price ASC
--order data descending
SELECT * FROM ShopProducts ORDER BY Price DESC

#11 Обновить цену на 20% для товара с ID 1

--update product price
UPDATE ShopProducts SET Price = 1.2 * Price WHERE ProductID=1

# 12 Удалить продукт с названием продукта «Nokia 3310»

--delete product
DELETE FROM ShopProducts where ProductName = 'Xperia X'

#13 Добавьте новый столбец с именем BrandID в таблицу ShopProducts

--modify table structure
ALTER TABLE ShopProducts
ADD BrandID integer

# 14 Создайте новую таблицу «Бренды»

CREATE TABLE Brands
(BrandID INTEGER PRIMARY KEY AUTOINCREMENT,
BrandName varchar(50),
BrandCountry varchar(50))

# 15 Добавьте некоторые сведения о бренде во вновь созданную таблицу «Бренды».

INSERT INTO Brands (BrandName, BrandCountry)
VALUES ('Samsung', 'Korea'),
('Apple', 'US'),
('Nokia', 'Finland')

#16 Обновите столбец ShopProducts BrandID, указав правильный BrandID из таблицы Brands (выполняйте команды одну за другой)

UPDATE ShopProducts SET BrandID = 1 WHERE ProductName = 'Samsung S22 Ultra'
UPDATE ShopProducts SET BrandID = 2 WHERE ProductName = 'Iphone 13 Pro Max'

# 17 Показать данные из обеих таблиц ShopProducts и Brands, объединив таблицы

--join data from two tables
SELECT ProductName, BrandName, Price
FROM ShopProducts
INNER JOIN Brands ON ShopProducts.BrandID =  Brands.BrandID