Основы SQL. Практическое применение

Содержание

Слайд 2

Структура SELECT запросы Добавление записей (INSERT INTO) Обновление записей (UPDATE) Удаление

Структура

SELECT запросы
Добавление записей (INSERT INTO)
Обновление записей (UPDATE)
Удаление записей (DELETE)
Создание таблиц

(CREATE TABLE)
Изменение таблиц (ALTER TABLE)
Удаление таблиц (DROP TABLE)
Слайд 3

Важно соблюдать порядок прописывания запроса: 1. SELECT запросы 3 SELECT ,

Важно соблюдать порядок прописывания запроса:

1. SELECT запросы

3

SELECT , aggregate_function(), …
FROM
INNER

JOIN / LEFT OUTTER JOIN
ON =
WHERE
GROUP BY , …
HAVING
ORDER BY ASC/DESC, …
LIMIT OFFSET ;
Слайд 4

С помощью запроса вывести наименование трека, наименование альбома, наименование музыкальной группы,

С помощью запроса вывести наименование трека, наименование альбома, наименование музыкальной группы,

выпустивший этот альбом. Группы: AC/DC, Black Sabbath, Aerosmith, Led Zeppelin.
С помощью запроса вывести наименование музыкальной группы, у которых несколько альбомов. Отсортировать по убыванию количества альбомов.
С помощью запроса вывести топ 10 наименований музыкальной группы, их альбомов. Указать длительность альбомов. Отсортировать по убыванию по длительности.
С помощью запроса вывести формат аудиофайла, указать количество треков в данном формате, средний размер в Мб.

1. SELECT запросы

4

Слайд 5

Значения, которые не указаны в INSERT, принимаются по умолчанию. 2. Добавление


Значения, которые не указаны в INSERT, принимаются по умолчанию.

2. Добавление записей

5

INSERT

INTO
VALUES (, , … )
(, , … )
… ;

INSERT INTO (, , … )
VALUES (, , … )
(, , … )
… ;

Слайд 6

Примеры: 2. Добавление записей 6 INSERT INTO artist (name) VALUES ('Bud

Примеры:

2. Добавление записей

6

INSERT INTO artist (name)
VALUES
('Bud Powell');

INSERT INTO artists (name)
VALUES

('Buddy Rich'),
('Candido'),
('Charlie Byrd');

INSERT INTO artists
DEFAULT VALUES;

Слайд 7

3. Обновление записей 7 UPDATE SET = , = , …


3. Обновление записей

7

UPDATE
SET = ,
= ,

WHERE ;

UPDATE


SET = ,
= < expression2>,

WHERE ;
Слайд 8

Примеры: 3. Обновление записей 8 UPDATE employee SET lastname = 'Smith'

Примеры:

3. Обновление записей

8

UPDATE employee
SET lastname = 'Smith'
WHERE employeeid = 3;

UPDATE employee
SET

city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE employeeid = 4;

UPDATE employee
SET email = LOWER( firstname || '.' || lastname || '@msu.ef.com' )
WHERE email IS NULL;

Слайд 9

При прописывании таких запросов лучше заранее убедиться, что удаляется те записи,


При прописывании таких запросов лучше заранее убедиться, что удаляется те записи,

которые действительно больше не нужны.

4. Удаление записей

9

DELETE FROM
WHERE ;

Слайд 10

Примеры: 4. Удаление записей 10 DELETE FROM artist WHERE name =

Примеры:

4. Удаление записей

10

DELETE FROM artist
WHERE name = 'Bud Powell';

DELETE FROM artist
WHERE

name IN ('Buddy Rich', 'Candido', 'Charlie Byrd')
OR name IS NULL;
Слайд 11

При создании таблицы через уже существующую таблицу тип данных принимает значение


При создании таблицы через уже существующую таблицу тип данных принимает значение

существующей таблицы.

5. Создание таблиц

11

CREATE TABLE
(
DEFAULT ,
DEFAULT ,

);

CREATE TABLE AS
SELECT , …
FROM
WHERE ;

Слайд 12

Типы данных и колонок для создания таблиц 5. Создание таблиц 12

Типы данных и колонок для создания таблиц

5. Создание таблиц

12

Слайд 13

Примеры: 5. Создание таблиц 13 CREATE TABLE table_name ( column_1 INTEGER

Примеры:

5. Создание таблиц

13

CREATE TABLE table_name
(
column_1 INTEGER PRIMARY KEY,
column_2 VARCHAR(10) NOT NULL,
column_3

INTEGER DEFAULT 0
);

CREATE TABLE movies
(
id INTEGER PRIMARY KEY,
title TEXT,
director TEXT,
year INTEGER,
length_minutes INTEGER
);

Слайд 14

Добавление колонок Новая колонка НЕ может быть PRIMARY KEY, так как

Добавление колонок
Новая колонка НЕ может быть PRIMARY KEY, так как в

таблице он уже есть. Если есть условие NOT NULL, тогда нужно указать значение по умолчанию, отличный от NULL (DEFAULT )
Удаление колонок

6. Изменение таблиц

14

ALTER TABLE
ADD DEFAULT ;

ALTER TABLE
DROP ;

Слайд 15

Примеры: 6. Изменение таблиц 15 CREATE TABLE devices ( name TEXT

Примеры:

6. Изменение таблиц

15

CREATE TABLE devices
(
name TEXT NOT NULL,
model TEXT

NOT NULL,
serial INTEGER NOT NULL
);
INSERT INTO devices (name, model, serial)
VALUES
('HP ZBook 17 G3 Mobile Workstation', 'ZBook', 'SN-2015');
ALTER TABLE devices
ADD COLUMN location TEXT;
ALTER TABLE devices
DROP COLUMN location;
Слайд 16

При прописывании таких запросов лучше заранее убедиться (несколько раз), что удаляется

При прописывании таких запросов лучше заранее убедиться (несколько раз), что удаляется

именно та таблица, которая больше не нужна.
Примеры:

7. Удаление таблиц

16

DROP TABLE ;

DROP TABLE devices;

DROP TABLE foo;