SQL
SQL (jazyk SQL (Structured Query Language)) je způsob, jak komunikovat s relační databází, která umožňuje definovat, dotazovat, upravovat a řídit data. Pomocí syntaxe SQL můžete vytvořit příkaz, který extrahuje záznamy podle zadaných kritérií.
Poznámka:
Tyto informace platí pro třídy MFC ODBC. Pokud pracujete s třídami MFC DAO, přečtěte si téma Porovnání sql databázového stroje Microsoft Jet a ANSI SQL v nápovědě k dao.
Příkazy SQL začínají slovesem klíčových slov, jako je CREATE nebo SELECT. SQL je velmi výkonný jazyk; Jeden příkaz může ovlivnit celou tabulku.
Existuje mnoho verzí SQL, z nichž každá je vyvinuta s ohledem na konkrétní DBMS. Databázové třídy MFC rozpoznávají sadu příkazů SQL, které odpovídají specifikaci konceptu JAZYKa SQL (1991) X/Open a SQL Access Group Common Applications Environment (CAE). Informace o syntaxi těchto příkazů naleznete v dodatku C v referenční dokumentaci programátora ODBC.
Toto téma vysvětluje:
ODBC (Open Database Connectivity)
Databázové třídy jsou implementovány s rozhraním ODBC, které používá SQL v rozhraní na úrovni volání místo vkládání příkazů SQL do kódu. Odbc používá SQL ke komunikaci se zdrojem dat prostřednictvím ovladačů ODBC. Tyto ovladače interpretují SQL a v případě potřeby ho překládají pro použití s konkrétním formátem databáze, jako je Například Microsoft Access. Další informace o tom, jak ROZHRANÍ ODBC používá SQL, naleznete v tématu ODBC a referenční dokumentace programátora ODBC.
Databázové třídy
Poznámka:
Průvodce příjemcem rozhraní ODBC MFC není v sadě Visual Studio 2019 a novější k dispozici. Příjemce můžete přesto vytvořit ručně.
Databázové třídy jsou navržené tak, aby vám umožnily manipulovat s daty a aktualizovat je v existujícím zdroji dat. Průvodce aplikací MFC, Průvodce příjemcem rozhraní MFC ODBC (přístupný prostřednictvím třídy Add) a databázové třídy vytváří většinu příkazů SQL za vás.
Databázové třídy používají část SQL, která se označuje jako DML (Data Manipulat Language). Tyto příkazy umožňují pracovat se všemi zdroji dat nebo jeho částí, přidávat nové záznamy, upravovat záznamy a odstraňovat záznamy. Následující tabulka uvádí nejběžnější klíčová slova SQL a způsoby, jak je třídy databáze používají.
Některá běžná klíčová slova SQL
Klíčové slovo SQL | Průvodci a databázové třídy ji používají. |
---|---|
SELECT | K identifikaci tabulek a sloupců ve zdroji dat, které se mají použít. |
WHERE | Chcete-li použít filtr, který výběr zúží. |
ORDER BY | Pokud chcete u sady záznamů použít pořadí řazení. |
INSERT | Přidání nových záznamů do sady záznamů |
DELETE | Odstranění záznamů ze sady záznamů |
UPDATE | Úprava polí záznamu |
Databázové třídy navíc rozpoznávají příkazy ODBC CALL , které můžete použít k volání předdefinovaného dotazu (nebo uložené procedury) u některých zdrojů dat. Ovladač databáze ODBC interpretuje tyto příkazy a nahrazuje příkaz vhodný pro každý DBMS.
Poznámka:
Ne všechny dbMS podporují příkazy CALL .
Pokud třídy nerozpoznají příkaz CRecordset::Open
zadaný uživatelem, je interpretován jako název tabulky.
Vysvětlení, jak architektura vytváří příkazy SQL, naleznete v tématu Sada záznamů: Jak sady záznamů Select Records (ODBC) a SQL: Přizpůsobení příkazu SQL sady záznamů (ODBC).
Databáze SQL používají datové typy podobné těm, které se používají v jazyce C a C++. Informace o těchto podobnostech naleznete v tématu SQL: SQL a C++ Datové typy (ODBC).
Další informace o SQL, včetně seznamu podporovaných příkazů SQL, datových typů, základní gramatiky SQL a seznamu čtení doporučených publikací o SQL, najdete v dokumentaci Microsoft SQL .
Jak databázové třídy používají SQL
Sady záznamů odvozené z databázových tříd používají odbc ke komunikaci se zdrojem dat a ODBC načítá záznamy ze zdroje dat odesláním příkazů SQL. Toto téma vysvětluje vztah mezi třídami databáze a SQL.
Sada záznamů vytvoří příkaz SQL sestavením částí příkazu SQL do .CString
Řetězec je vytvořen jako příkaz SELECT , který vrací sadu záznamů.
Když sada záznamů volá rozhraní ODBC k odeslání příkazu SQL do zdroje dat, správce ovladačů ODBC předá příkaz ovladači ODBC a ovladač ho odešle do podkladové dbMS. DbMS vrátí sadu záznamů výsledků a ovladač ODBC vrátí záznamy do aplikace. Databázové třídy umožňují programu přístup k výsledné sadě v type-safe C++ třídy odvozené z CRecordset
.
Následující témata obsahují další informace o tom, jak databázové třídy používají SQL: