4_Основные команды SQL.ppt
- Количество слайдов: 22
Язык структурированных запросов SQL Команды и технология их выполнения
SQL - Structure Query Language Способы применения SQL в прикладных программах Встроенные Интерактивный
Этапы выполнения операторов SQL 1 этап синтаксический анализ 2 этап проверка параметров 3 этап оптимизация оператора 4 этап генерация плана выполнения 5 этап исполнение плана запроса словарь БД и метаданные Результат
Пример выполнения SQL-запроса запрос для поиска списка отличников Select fam, gr From Stud Where mark=5 Nom Fam Name Grupа Predmet mark 101 Содержимое таблицы базы данных stud : Иванов Олег В-11 История 5 102 Васина Анна В-12 Физика 4 103 Петров Иван С-11 Физика 5 Fam Результат выполнения запроса: Grupа Иванов В-11 Петров С-11
Типы команд языка SQL Язык Определения Данных Язык Изменения Данных Команды Администрирования (DDL – Data Definition Language) (DML – data Manipulition Language) Базы Данных
Типы данных в SQL: Smallint – короткое целое от- 3200 до + 3200 n Integer – длинное целое от - 200000 до +200000 n Float - число с плавающей точкой (вещественное) n Date – дата и время n Char (Var. Char ) - символьное n
Основные команды SQL Имя команды Create table Drop table Alter table Delete Insert Up. Date Commit Roll. Back Select Выполняемые действия Создание таблицы в базе данных Удаление таблицы Изменение структуры таблицы Удаляет запись из одной таблицы Добавление новых значений в таблицу базы данных Изменение значения в записях таблицы Сохраняет результаты выполнения транзакции Отказ от сохранения результатов транзакции Простая выборка данных
Create table имя таблицы (имя_поля 1 характеристики поле 1, остальные поля, Primary key (имя кл_поля)) n Create Table spec (nomer integer not null Check (nomer >0), name char(50), primary key (nomer))
Drop table имя таблицы n Drop Table spec
Alter table имя таблицы Опция имя поля n Alter Table pred ADD itog char(3), Drop fio, Alter kol integer not null check (kol > = 20)
Delete from имя таблицы 1. 2. 3. Delete From mark Delete From student WHERE (Tab > = 10) Delete From mark WHERE (mark = 2)
Insert Into имя таблицы (список полей) VALUES (список значений) n Insert Into student (Fam, name, tab, nom_gr) VALUES (‘Сидоров’, ’Иван’, 520, 4)
Up. Date имя таблицы Set имя поля = новое значение 1. Up. Date Pred Set itog =‘экз’ 2. Up. Date student Set fam =‘Петров’ WHERE (tab =520) Up. Date Pred Set kol_pr =kol /2 3.
Select список полей from список таблиц опции 1. 2. 3. 4. Select name, itog FROM pred Select * FROM grup Select * FROM student WHERE (pol=‘м’) Select name , kol as ‘Всего’, kol/2 As ‘Практики’ FROM pred
Способы использования нескольких таблиц (для Select) Главная таблица Подчинённая таблица поле 1 поле 3 Поле 4 поле 1 поле 2
1 Способ Select список полей FROM имя гл_табл INNER join имя подч_таблицы ON выражение связи Пример: из связных таблиц «Группа» и «Студент» по полю ‘Код группы’ вывести поля фамилии студента, название Группы и Фамилию Кл. руководителя n Select fam, group. name, fio_kl FROM group INNER join student ON group. kod_gr = student. kod_gr
2 Способ Select список полей FROM имя гл_таблицы, имя подч_таблицы WHERE выражение связи 1. SELECT fam, group. name, fio_kl FROM group, student WHERE group. kod_gr = student. kod_gr
Сортировка данных (для Select) Select имя поля FROM имя табл ORDER By имя поля Направление 1. Select nomer, fam, name FROM student ORDER By Fam asc 2. Select name, kol FROM pred ORDER By kol Desc
Группировка данных (для Select) Select имя поля, агрегатная функция (поле) FROM имя табл GROUP By имя поля 1. 2. 3. 4. Select nom_gr, count (*) as Kol FROM student GROUP By nom_gr Select name, Sum (kol) FROM tovar GROUP By name Select tab, Avg(mark) FROM mark GROUP By tab Select name, Min (cena) From Tovar GROUP By name
Использование переменных в SQL-запросах Текст SQL-запроса : переменная 1. 2. 3. select fam, name from db_student where pol= : pol_poisk insert into db_pred (nom_pred, name_pred, kol) values (: new_nom, : new_pred, : new_kol) delete from db_group where name_gr= : gr_del
Встроенные функции SQL: § § § § Upper (строка) – преобразует символы в строчные (большие). Lower (строка) – преобразует символы в маленькие. Trim (строка) – удаление хвостовых пробелов || - сцепление строк IIF (условие, значение по ДА, значение по НЕТ) – вложенное условие Sub. String (строка from ”начальное” For сколько символов) выделяет подстроку Extract (формат From значение) - Работа с датами: Формат -Month, Year, Day, Hour, Minute, Second – выбрать одно и выдает то что выбрали Like “маска” - Маска выбора. Можно использовать в маске % несколько символов, _ один символ Char_length (строка)– подсчет длины строки § Exsist (select …. ) – проверка на существование § Cast поле as тип – преобразование значения поля в новый тип данных §
Вложенные SQL-запросы 1. 2. 3. select fam, name from db_student where age= (select min(age) from db_student) select fam, name, (select avg(mark) from db_mark where db_student. tab= db_mark. tab group by tab) as sr_ball from db_student order by sr_ball desc UPDATE Pokupka SET Stoimost =kol * (select cena from Tovar where Tovar. kot_tovar=Pokupka. kod_tovar )


