SQL
Обновлен: Ноябрь 2007
Язык SQL (Structured Query Language) обеспечивает связь с реляционной базой данных, позволяющей определять, запрашивать, изменять данные и управлять ими. Используя синтаксис SQL можно создать инструкцию, извлекающую записи согласно указанным критериям.
Примечание. |
---|
В этом разделе приведены сведения, относящиеся к классам ODBC библиотеки MFC. Сведения по классам DAO библиотеки MFC см. в разделе "Сравнение SQL ядра обработчика базы данных Microsoft Jet и ANSI SQL" в справке DAO. |
Инструкции SQL начинаются с ключевого слова команды, например, CREATE или SELECT. SQL — это очень мощный язык. Отдельная инструкция из него может влиять на таблицу в целом.
Существует множество версий SQL, каждая из которых разработана с учетом определенной СУБД. Классы базы данных библиотеки MFC распознают набор инструкций SQL, связанных со спецификацией SQL, разработанной X/Open and SQL Access Group Common Applications Environment (CAE) (1991). Сведения о синтаксисе данных инструкций см. в приложении C на компакт-диске библиотеки MSDN ODBC SDK в разделе Справочник программиста.
Содержание раздела:
Взаимосвязь между ODBC и SQL.
Наиболее распространенные ключевые слова SQL, используемые в классах базы данных.
Использование языка SQL в классах базы данных.
Интерфейс ODBC (ODBC)
Классы базы данных реализованы с ODBC, который использует язык SQL в интерфейсе уровня вызова, вместо того, чтобы внедрять SQL-команды в код. SQL используется в ODBC для установки связи с источником данных посредством драйверов ODBC. Эти драйверы трактуют SQL и переводят его, если это необходимо, для использования с базой данных определенного формата, например, Microsoft Access. Дополнительные сведения об использовании языка SQL в ODBC см. на компакт-диске библиотеки MSDN ODBC и ODBC SDK в разделе Справочник программиста.
Классы базы данных
Классы базы данных разработаны для редактирования и обновления данных в существующих источниках данных. Большинство инструкций SQL создается с использованием приложений Мастер приложений MFC и Мастер объектов-получателей ODBC библиотеки MFC (доступ к которому можно получить нажатием кнопки Добавить класс), а также классов базы данных.
Классы базы данных используют часть SQL, известную как язык обработки данных DML. С помощью этих инструкций можно работать с источником данных в целом или его частью, добавлять новые записи, а также редактировать и удалять их. В следующей таблице перечислены наиболее известные ключевые слова языка SQL и способы их использования классами базы данных.
Некоторые наиболее распространенные ключевые слова SQL
Ключевое слово SQL |
Мастера и классы базы данных, использующие его |
---|---|
SELECT |
Для определения таблиц и столбцов, которые будут использоваться в источнике данных. |
WHERE |
Для применения фильтра, ограничивающего выборку. |
ORDER BY |
Для применения порядка сортировки к набору записей. |
INSERT |
Для добавления новых записей в набор записей. |
DELETE |
Для удаления записей из набора записей. |
UPDATE |
Для изменения полей записи. |
Кроме того, классы базы данных распознают инструкции ODBC CALL, которые можно использовать для вызова ранее заданного запроса (или сохраненной процедуры) в некоторых источниках данных. Драйвер базы данных ODBC интерпретирует эти инструкции и подставляет команду, подходящую для каждой СУБД.
Примечание. |
---|
Не все СУБД поддерживают инструкции CALL. |
Если классы не могут распознать предоставленную пользователем инструкцию в параметре CRecordset::Open, то она интерпретируется в качестве имени таблицы.
Сведения о создании инструкций SQL с использованием платформы см. в разделах Набор записей. Выбор записей с использованием набора записей (ODBC) и SQL. Настройка инструкции SQL набора записей (ODBC).
В базах данных SQL применяются типы данных, похожие на используемых в языках C и C++. Обзор сходств см. в разделе SQL. SQL и типы данных языка C++ (ODBC).
Дополнительные сведения о SQL, включающие список поддерживаемых инструкций SQL, типы данных, грамматику ядра SQL и список рекомендуемых публикаций о SQL см. на компакт-диске библиотеки MSDN ODBC SDK в разделе Справочник программиста.
Использование SQL классами базы данных
Наборы записей, производных от классов базы данных, используют ODBC для связи с источником данных, а ODBC извлекает записи из источника данных путем отправки инструкций SQL. В данном разделе описывается взаимосвязь между классами базы данных и языком SQL.
Набор записей создает инструкцию SQL путем построения частей инструкции SQL в методе CString. Строка формируется как инструкция SELECT, которая возвращает набор записей.
Когда набор записей вызывает ODBC для отправки инструкции SQL источнику данных, диспетчер драйверов ODBC передает инструкцию драйверу ODBC, а драйвер, в свою очередь, отправляет его в используемую СУБД. СУБД возвращает результирующий набор записей, и драйвер ODBC возвращает записи приложению. С помощью классов базы данных можно получить программный доступ к результирующему набору в типизированном классе языка C++, производном от класса CRecordset.
В следующих разделах предоставлены дополнительные сведения об использовании SQL классами баз данных: