Язык SQL предназначен для построения баз данных и управления ими, а также для создания разнообразных запросов с целью поиска нужных данных. Язык SQL имеет большие возможности, является более универсальным, чем технология QBE (Query by Example – создание запросов с помощью конструктора). Стандарт язык SQL ANSI 92 реализован в разных программных средах и на разных компьютерных платформах. В программе MS Access язык используется в видоизмененном и не полностью совместимом со стандартом варианте и называется SQL Microsoft Jet.
При помощи команд языка можно создать объекты БД, например, таблицы, модифицировать структуру ранее созданных объектов, построить запросы на выборку записей, в том числе, параметрические, перекрестные, на создание новой таблицы, на вычисления в таблицах и т. д.
Управление таблицами
Чтобы перейти в режим SQL, нужно открыть любую БД или при создании новой БД перейти на закладку ЗАПРОСЫ и выполнить команду СОЗДАТЬ ЗАПРОС С ПОМОЩЬЮ КОНСТРУКТОРА. После этого переходим в режим SQL с помощью команд главного меню ВИД→ЯЗЫК SQL. Получим окно для построения запроса средствами языка, куда вводят предложения языка.
Предложение может начинаться со слов CREATE, SELECT, INSERT, UPDATE, DELETE, ALTER, DROP и т. д. Полное предложение называют конструкцией SQL (или запросом SQL). Оно состоит из одной или нескольких команд и заканчивается символом «;».
Выполняют конструкцию командой ВЫПОЛНИТЬ или нажимают на кнопку запуска на панели инструментов.
Рассмотрим главные команды и конструкции языка.
Для создания новой таблицы следует ввести команду
CREATE TABLE таблица(поле1 тип1, поле2 тип2, …);
Имена таблице и полям дает пользователь. Типы полей есть такие:
Тип поля
Описание
Integer
Целые числовые данные
Char или Text(n)
Текстовые данные, где n – длина данного
Real
Короткие действительные числовые данные
Float
Длинные действительные числовые данные
Binary(n)
Логические данные со значениями true, false с указанием длины данного
Bit
Логические данные со значениями 1, 0
Counter
Счетчик
Datetime
Дата и время
Money
Денежные данные
Image
Картинка
Одно из полей можно сделать ключевым, дописав после указания его типа служебные слова PRIMARY KEY.
Если имя таблицы или поля содержит пробел или другой разделительный символ, то его записывают в квадратных скобках:
ADD – добавить, DROP – удалить, ALTER – поменять тип поля.
Чтобы удалить всю таблицу из БД, выполняют команду:
DROP TABLE таблица;
Добавить запись в конец созданной таблицы можно так:
INSERT INTO таблица(поле1, поле2…);
VALUES(значение1, значение2,…);
Пустую таблицу заполняют данными в визуальном режиме, перейдя на закладку ТАБЛИЦЫ и открыв нужную таблицу для ввода данных. Для замены данных в полях существующей таблицы служит команда
UPDATE таблица SET поле=выражение WHERE условие;
Пример 1. Внести изменения в таблицу ТОВАРЫ, если цена одного из наименований товаров (например, телевизоров) уменьшилась на 10%:
UPDATE Товары SET Цена=Цена*0.9
WHERE Наименование= «телевизор»;
Записи удаляют из таблицы с помощью команды
DELETE FROM Таблица WHERE условие;
Значение поля можно удалять путем создания запроса на обновление поля значением Null.
Создание запросов на выборку записей
Выборка – это динамический набор данных из базы, отображающийся на экране компьютера. Выборку записей создают при помощи конструкции SELECT:
SELECT предикат список полей
FROM таблица {IN адрес внешней БД на диске}
{WHERE условие поиска}
{GROUP BY поле для группировки записей}
{HAVING дополнительное условие поиска в группе}
{ORDER BY список полей для сортировки};
Команды, приведенные в фигурных скобках, необязательны.
Предикатом может быть служебное слово ALL (показать все найденные записи), TOP n – показать первые n записей, TOP n PERCENT – показать первые n% записей; DISTINCT – показать только различные записи.
Список полей содержит имена полей, отображаемых в выборке. Элементы списков отделяются запятыми. Все поля таблицы обозначаются так: таблица .* или *, если рассматривается одна таблица.
Источником данных может быть одна или несколько таблиц текущей или внешней базы данных.
Имена полей из разных таблиц должны быть дополнены именами таблиц. Между именами записывают точку, например Склад1.Цена, Товары.Цена.
Если таблиц несколько, то их объявляют списком в команде FROM. Если между двумя таблицами установлена внутренняя связь по некоторому полю, например, [Номер товара], то команду FROM надо писать так:
FROM таблица1 INNER JOIN таблица2
ON таблица1.[Номер товара]=таблица2.[Номер товара].
Команда ORDER BY служит для сортировки полученных записей по возрастанию или по убыванию. соответствующее направления сортировки задается предикатами ASC или DESC, которые записывают после имени поля.
Пример 2. Из таблицы ТОВАРЫ выбрать первые три записи со всеми полями о товарах дешевле 100 грн. Решение: