Язык SQL (Structured Query Language – язык структурированных запросов) был создан Microsoft в конце 70-ых годов XX века и получил широкое распространение. Он позволяет формировать сложные запросы к базам данных. Запрос – это вопрос к базе данных, возвращающий запись или множество записей удовлетворяющих вопросу.
В настоящее время язык не достаточно стандартизован. Существует стандарт SQL ANSI и множество диалектов (SyBase SQL Server, Microsoft SQL).
В приложениях Delphi при помощи запросов SQL можно использовать данные:
- таблиц PARADOX и dBase,
- локального сервера InterBase,
- удаленных серверов SQL через драйверы SQL Links.
Язык SQL предназначен для действий с таблицами и данными в таблицах. В этом языке нет операторов управления вычислительным процессом (переходов, ветвлений, циклов). Программу, написанную на языке SQL, называют SQL-запросом.
В локальных БД с помощью SQL-запроса можно:
- формировать состав полей набора данных при выполнении приложения;
- включать в набор данных поля и записи одной или нескольких таблиц;
- отбирать записи по сложным критериям;
- сортировать набор данных по любому полю, в том числе и неиндексированному;
- выполнять поиск данных по полному или частичному совпадению критерия поиска со значениями поля записи.
Общие правила синтаксиса языка SQL простые:
- Язык SQL не чувствителен к регистру.
- Один оператор от другого отделяется точкой с запятой.
- Комментарий записывается как /*<комментарий>*/.
- Имена таблиц и полей заключаются в апострофы или кавычки. Например, ‘Code_Tovar’. Если имя не содержит пробелов или других специальных символов, то апострофы можно не писать.
Язык SQL встроен в систему Delphi. Для работы с операторами SQL используется компонент Query.
Компонент Query: TQuery формирует набор данных с помощью запроса, определенного в его свойстве SQL. Используется при реляционном доступе к данным. Набор данных может включать записи более чем одной таблицы.
Свойства:
DataBaseName: AnsiString- имя БД, выбирается из списка доступных псевдонимов.
Active: Boolean –активность набора данных: если Active=True набор данных находится в открытом состоянии; при Active=False – в закрытом.
Name: TString –имя компонента, например, Qprepod.
SQL: TStrings –содержит текст запроса на языке SQL.
Данные, отобранные в соответствии с запросом, указанным в свойстве SQL, отображаются в процессе разработки приложения сразу после установки свойства DataSet компонента DataSource, например,
DataSource1.DataSet:=Query1;
Отобранные записи называют результирующим набором данных.