
SQL Structured Query Language
SQL (Structured Query Language) – структурированный язык запросов, предоставляющий средства создания и обработки данных в реляционных БД.
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации).
Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде.
Состав языка sql:
язык манипулирования данными DML (Data Manipulation Language)
язык определения данных DDL (Data Definition Language)
язык управления данными DCL (Data Control Language).
Язык манипулирования данными состоит из 4 основных команд:
SELECT (выбрать)
INSERT (вставить)
UPDATE (обновить)
DELETE(удалить).
Основные команды языка определения данных DDL:
CREATE DATABASE (создать базу данных)
CREATE TABLE (создать таблицу)
CREATE VIEW (создать виртуальную таблицу)
CREATE INDEX (создать индекс)
CREATE TRIGGER (создать триггер)
CREATE PROCEDURE (создать хранимую процедуру)
ALTER DATABASE (модифицировать базу данных)
ALTER TABLE (модифицировать таблицу)
ALTER VIEW (модифицировать виртуальную таблицу)
ALTER INDEX (модифицировать индекс)
ALTER TRIGGER (модифицировать триггер)
ALTER PROCEDURE (модифицировать хранимую процедуру)
DROP DATABASE (удалить базу данных)
DROP TABLE (удалить таблицу)
DROP VIEW (удалить виртуальную таблицу)
DROP INDEX (удалить индекс)
DROP TRIGGER (удалить триггер)
DROP PROCEDURE (удалить хранимую процедуру).
Язык управления данными DCL состоит из двух основных команд:
GRANT (дать права)
REVOKE (забрать права).
С точки зрения прикладного интерфейса существуют две разновидности команд SQL:
интерактивный SQL
встроенный SQL.
Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне.
Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты.
БД состоит из 4 таблиц:
STUDENTS (СТУДЕНТЫ) – в ней содержаться пять полей с информацией о студентах:
SNUM – номер студенческого билета
SFAM – фамилия студента
SIMA – имя студента
SOTCH – отчество студента
STIP – размер получаемой студентом стипендии
PREDMET (ПРЕДМЕТЫ) – в ней содержаться пять полей с информацией об учебных предметах:
PNUM – номер (код) учебного предмета
PNAME – наименование учебного предмета
TNUM - номер (код) преподавателя
HOURS – продолжительность учебной дисциплины в часах
COURS – курс, на котором ведется данный учебный предмет
TEACHERS (ПРЕПОДАВАТЕЛИ) – в ней содержится информация о преподавателях:
TNUM – код преподавателя
TFAM – фамилия преподавателя
TIMA – имя преподавателя
TOTCH – отчество преподавателя
TDATE – дата принятия преподавателя на работу
USP (УСПЕВАЕМОСТЬ) – содержит информацию об успеваемости студентов по учебным дисциплинам:
UNUM – код факта сдачи учебной дисциплины
OCENKA – оценка, полученная студентом по учебному предмету
UDATE – дата сдачи
SNUM – номер студенческого билета
PNUM – код учебного предмета
Оператор select
Оператор SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц.
Формат:
SELECT <список-полей>
FROM <список-таблиц>
[WHERE <спецификация-отбора-строк>]
[GROUP BY <спецификация группировки>]
[HAVING <спецификация-отбора-групп>]
[ORDER BY <спецификация-сортировки>];
Квадратные скобки [ ] означают, что использование находящегося в них оператора необязательно. После ключевого слова ORDER BY указывают имя столбца, число (целое беззнаковое) или формулу и способ упорядочения (по возрастанию – ASC, или по убыванию – DESC). По умолчанию используется упорядочение по возрастанию.
Список выбираемых элементов может содержать следующее:
имена полей
*
вычисления
литералы
функции
агрегирующие конструкции