Поделиться через


SQL

Язык структурированных запросов SQL служит для взаимодействия с реляционными базами данных и позволяет определять, запрашивать, изменять данные, а также управлять ими. Используя синтаксис SQL, вы можете создавать инструкции, которые извлекают записи в соответствии с указанными вами критериями.

Примечание.

Эта информация относится к классам ODBC библиотеки MFC. Если вы работаете с классами DAO библиотеки MFC, ознакомьтесь с разделом "Сравнение спецификаций языка SQL для ядра СУБД Microsoft Jet и для ANSI" в справке по DAO.

Инструкции SQL начинаются с ключевого слова команды, например CREATE или SELECT. Язык SQL является мощным инструментом, поскольку даже одна инструкция может полностью изменить таблицу.

Существует множество версий SQL, разработанных с учетом специфики конкретной СУБД, для которой они предназначены. Классы базы данных MFC распознают набор инструкций SQL, соответствующий проекту спецификации SQL для общей среды приложений (CAE), предложенному X/Open и SQL Access Group (1991). Сведения о синтаксисе этих инструкций см. в приложении C в справочной документации программиста ODBC.

В этом разделе рассматриваются следующие вопросы.

Интерфейс ODBC (ODBC)

Классы базы данных реализуются на основе интерфейса ODBC, который использует SQL в интерфейсе уровня вызова вместо того, чтобы внедрять команды SQL в код. Интерфейс ODBC использует SQL для связи с источником данных посредством драйверов ODBC. Эти драйверы интерпретируют инструкции SQL и при необходимости преобразуют их в формат, используемый конкретной базой данных, например Microsoft Access. Дополнительные сведения о том, как ODBC использует SQL, см. в документации по ODBC и справочнику программиста ODBC.

Классы баз данных

Примечание.

Мастер потребителя MFC ODBC недоступен в Visual Studio 2019 и более поздних версиях. При этом вы по-прежнему можете создать потребитель вручную.

Классы базы данных предназначены для обработки и обновления данных в источнике данных. Мастер приложений MFC, мастер потребителя MFC ODBC (доступен в диалоговом окне Добавить класс), а также классы базы данных обеспечивают автоматическое построение большинства инструкций SQL.

Классы базы данных используют часть SQL, известную как язык обработки данных (DML). Эти команды позволяют работать со всем источником данных или отдельными его частями, а также добавлять новые и редактировать или удалять существующие записи. В следующей таблице перечислены наиболее распространенные ключевые слова SQL и способы, которыми они используются в классах базы данных.

Распространенные ключевые слова SQL

Ключевое слово SQL Мастер и классы базы данных, в которых используется ключевое слово
SELECT Определяет используемые таблицы и столбцы источника данных.
WHERE Применяет фильтр, ограничивающий выборку.
ORDER BY Применяет порядок сортировки к набору записей.
INSERT Добавляет новые записи в набор записей.
DELETE Удаляет записи из набора записей.
UPDATE Изменяет поля записи.

Кроме того, классы базы данных распознают инструкции CALL ODBC, которые можно использовать для вызова предварительно определенного запроса (или хранимой процедуры) в отношении некоторых источников данных. Драйвер базы данных ODBC интерпретирует эти инструкции и подставляет команды, соответствующие конкретной СУБД.

Примечание.

Вызовы CALL поддерживаются не для всех СУБД.

Если класс не распознает предоставленную пользователем инструкцию в CRecordset::Open, она интерпретируется как имя таблицы.

Описание того, как платформа создает инструкции SQL, см. в разделе Recordset: How Recordsets Select Records (ODBC) и SQL: Настройка инструкции SQL набора записей (ODBC).

Базы данных SQL используют типы данных, схожие с теми, что применяются в C и C++. Сведения об этих сходствах см. в статье SQL: Типы данных SQL и C++ (ODBC).

Дополнительные сведения о SQL, включая список поддерживаемых инструкций SQL, типов данных, грамматики SQL core и список рекомендуемых публикаций о SQL, см. в документации по Microsoft SQL .

Как классы баз данных используют SQL

Наборы записей, являющиеся производными от классов базы данных, используют интерфейс ODBC для связи с источником данных. ODBC извлекает записи из источника данных, отправляя инструкции SQL. В этом разделе описывается взаимосвязь между классами базы данных и SQL.

Набор записей формирует инструкцию SQL, объединяя ее фрагменты в объект CString. Эта строка определяет инструкцию SELECT, которая возвращает набор записей.

Когда набор записей вызывает ODBC для отправки инструкции SQL в источник данных, диспетчер драйверов ODBC передает инструкцию в драйвер ODBC, который, в свою очередь, отправляет ее в основную СУБД. СУБД возвращает результирующий набор записей, а драйвер ODBC, в свою очередь, возвращает записи в приложение. Классы базы данных обеспечивают программе доступ к результирующему набору в типобезопасном классе C++, который является производным от CRecordset.

В следующих разделах приводятся дополнительные сведения о том, как классы базы данных используют SQL.

См. также

Интерфейс ODBC
Основы ODBC