Similar presentations:
Урок 5. Базы данных
1.
БАЗЫДАННЫХ.
УРОК 6.
2.
БДРеляционные (SQL)
- Postgres (PgAdmin)
- Oracle
- My SQL
Нереляционные (no SQL)
- Redis
- Mongo DB
В формате БД это значит, что данные реляционных баз хранятся в виде таблиц и строк. Нереляционные БД
размещают информацию в коллекциях документов JSON. Реляционные БД используют язык SQL
SQL – (Structured Querty Language) язык структурированных запросов.
Таблица USERS
Document USERS
{
ID
Name
City
1
Oleg
Moscow
“ID” : 1,
2
Irina
Kazan
“Name” : “Oleg”,
3
Maria
Volgograd
“City” : “Moscow”
4
Ivan
Krasnodar
}
3.
Базовые операции с БДЭто чтение, вставка, обновление и удаление с БД
Create- вставить данные в БД
Read – прочитать (извлечь) данные из БД
Update – обновить данные в БД
Delete – удалить данные из БД
Операция
Команда SQL
Запрос (метод) HTTP
Create
Insert into
Post
Read
Select
Get
Update
Update
Put
Delete
Delete
Delete
4.
1. Поиск (выборка) - SELECT (по условию)WHERE.
Выбрать все (*) - выбрать все столбцы
select * - что выбрать? (какие столбцы)
from users – откуда выбрать? (из какой таблицы)
Выборка по столбцам таблицы
select name, city – выбрать данные из столбцов «name, city»
from users – из таблицы users
Выбрать уникальные значения (т.е. неповторяющиеся) для столбца [select distinct]
select distinct(name) from users – из таблицы users
Поиск по условию
select * - выбрать все данные/столбцы
from users – из таблицы users
where name = ‘Олег’ – для пользователей с именем Олег.
5.
ОПЕРАТОРЫ УСЛОВИЙ - AND, OR, NOT.And (и) – два условия верные (совпадают)
Or (или) – одно из условий совпадают (верно)
Not (не) – условия не должные совпадать
Select * - выбрать все данные
from users – из таблицы users
where name = ‘Михаил’ and city = ‘Москва’ – где имена пользователей Михаил и город
Москва.
Select * - выбрать все данные
from users – из таблицы users
where name = ‘Иван’ or country = ‘Беларусь’ – где имена пользователей Иван или страна
Беларусь
Select * - выбрать все данные
from users – из таблицы users
where not country = ‘ОАЭ’ – кроме тех, кто из ОАЭ.
6.
СОРТИРОВКА ПО СТОЛБЦУ – ORDER BY.Сортировать можно по возрастанию ASC
и убыванию DESC. По
умолчанию сортировка всегда по возрастанию ASC и по полю ID.
Select * - выбрать все данные
from users – из таблицы users
order by age ASC – отсортировать по возрастанию возраста
пользователя.
Select * - выбрать все данные
from users – из таблицы users
order by age DESC – отсортировать по убыванию возраста
пользователя.
7.
ПОИСК МАКСИМАЛЬНОГО ИМИНИМАЛЬНОГО ЗНАЧЕНИЕ В БД.
min – минимальное значение, max – максимальное значение
select min (Age) – найти минимальный возраст
from users – из таблицы users
select max (Age) – найти максимальный возраст
from users – из таблицы users.
8.
ПОСЧЕТ СУММЫ, КОЛ-ВА ИСРЕДНЕГО АРИФМЕТИЧЕСКОГО.
select sum (count_devices) from users – суммировать все
количества устройств каждого юзера в таблице users.
select Avg (Age) from users – найти
среднеарифметический возраст пользователя в таблице
users.
select count (id) rom users – посчитать кол-во записей в
таблице users.
9.
ПОИСК ПО ШАБЛОНУ – LIKE.Select * - выбрать все данные
from users – из таблицы users
where name like ‘Ири%’ – имя которых начинается на ‘Iri’ (начало имени Ирина)
Select * - выбрать все данные
from users – из таблицы us
where name like ‘%га’ – имя которых заканчивается на ‘ga’ (Окончание имени
Ольга)
Select * - выбрать все данные
from users – из таблицы us
where name like ‘%адис%’ – имя которых содержит ‘cgol’ (часть имени Владислав)
10.
2. ОБНОВИТЬ ДАННЫЕ В БД – UPDATE.Update users – в таблице users установить
set name = ‘Юлия’ - имя Юлия
country = ‘Россия’ – страну Россия
city = ‘Тула’ – город Тула
where id = 6 – для записи с id = 6.
Update users
set name = ‘Юлия’, country = ‘Россия’, city = ‘Тула’
where id = 6.
11.
3. ДОБАВИТЬ ДАННЫЕ В БД.Вставка данных в переданные столбцы таблицы Users
Insert into Users (Name, Country, City, Age) – указываем столбцы
values (‘Алексей’, ‘Россия’, ‘Мурманск’, 22) – указываем значения
для столбцов в том же порядке
Вставка данных в таблицу без указания столбцов
Insert into Users
values (‘Алексей’, ‘Россия’, ‘Мурманск’, 22)
Когда не указываем колонки, в которые вставляем данные, то
значения становятся в таблицу в том порядке, в котором они
переданы. Поэтому важно не нарушить порядок и лучше
предварительно посмотреть порядок столбцов в БД.
12.
ДОБАВИТЬ ДАННЫЕ В БД ПЕРЕДАВАЯ НЕВСЕ СТОЛБЦЫ
Пример:
Insert into Users (Name, City)
values (‘Алексей’, ‘Мурманск’)
Когда мы создаем новую запись в БД и передаем не все значения, то те
значения которым не присвоены значения будут равны null.
Null – это пустое или незаданное значение в БД.
13.
4. УДАЛИТЬ ДАННЫЕ ИЗ БД.Delete from users – удалить из таблицы users
where id = 5 – пользователя с id = 5.
При вызове команды удаляется строка целиком. Ели необходимо
удалить (установить в null данные в како-либо строке –
используется команда update с передачей значения null для
необходимых столбцов)
14.
ВИДЫ ДЖОИНОВ.inner join - выводит только совпадения из обоих таблиц
left join - все данные из левой таблицы и только совпадения из
правой
right join - все данные из правой таблицы и только совпадения из
левой
full join - выведутся все данные из обоих таблиц
Левая таблица - это таблица, которая указана первой при
написания запроса.
Правая таблица, соответственно, вторая в запросе.
15.
Нам необходимо вывести только пользователей из таблицы Persons, для которых в таблицеCars есть записи о наличии машины. Необходимо сохранить сортировку по id.
SELECT * FROM persons as p
LEFT JOIN cars as c ON p.id = c.persons
Order by p.id DESC
Указывая “as p” и “as c” мы задаем укороченную ссылку на таблицу persons/cars
соответственно. В программе просмотра баз данных – “Dbeaver” ссылки добавляются
автоматически