Dela via


SQL

SQL (Structured Query Language) är ett sätt att kommunicera med en relationsdatabas som gör att du kan definiera, fråga, ändra och kontrollera data. Med SQL-syntax kan du skapa en instruktion som extraherar poster enligt de villkor som du anger.

Anmärkning

Den här informationen gäller för MFC ODBC-klasserna. Om du arbetar med MFC DAO-klasserna kan du läsa artikeln Jämförelse av Microsoft Jet Database Engine SQL och ANSI SQL i DAO-hjälpen.

SQL-uttryck börjar med ett nyckelordsverb som CREATE eller SELECT. SQL är ett mycket kraftfullt språk. en enda instruktion kan påverka en hel tabell.

Det finns många versioner av SQL, var och en utvecklad med en viss DBMS i åtanke. MFC-databasklasserna känner igen en uppsättning SQL-instruktioner som motsvarar sql-utkastspecifikationen X/Open och SQL Access Group Common Applications Environment (CAE) (1991). Information om syntaxen för dessa instruktioner finns i bilaga C i ODBC-programmerarens referensdokumentation .

I det här avsnittet förklaras:

Open Database Connectivity (ODBC)

Databasklasserna implementeras med ODBC, som använder SQL i ett gränssnitt på anropsnivå i stället för att bädda in SQL-kommandon i koden. ODBC använder SQL för att kommunicera med en datakälla via ODBC-drivrutiner. Dessa drivrutiner tolkar SQL och översätter den, om det behövs, för användning med ett visst databasformat, till exempel Microsoft Access. Mer information om hur ODBC använder SQL finns i ODBC och ODBC-programmerarens referensdokumentation .

Databasklasser

Anmärkning

MFC ODBC-konsumentguiden är inte tillgänglig i Visual Studio 2019 och senare. Du kan fortfarande skapa en konsument manuellt.

Databasklasserna är utformade så att du kan ändra och uppdatera data i en befintlig datakälla. MFC-programguiden, MFC ODBC-konsumentguiden (som nås via Lägg till klass) och databasklasserna konstruerar de flesta SQL-uttryck åt dig.

Databasklasserna använder en del av SQL som kallas datamanipuleringsspråk (DML). Med de här kommandona kan du arbeta med hela eller delar av datakällan, lägga till nya poster, redigera poster och ta bort poster. I följande tabell visas de vanligaste SQL-nyckelorden och hur databasklasserna använder dem.

Några vanliga SQL-nyckelord

SQL-nyckelord Trollkarlarna och databasklasserna använder den
VÄLJ För att identifiera vilka tabeller och kolumner i datakällan som ska användas.
VAR Att applicera ett filter som begränsar urvalet.
SORTERA EFTER För att tillämpa en sorteringsordning på datamängden.
INFOGA Att lägga till nya poster i en postuppsättning.
TA BORT Ta bort poster från en postuppsättning.
UPPDATERA Ändra fälten i en post.

Dessutom känner databasklasserna igen ODBC CALL-instruktioner , som du kan använda för att anropa en fördefinierad fråga (eller lagrad procedur) på vissa datakällor. ODBC-databasdrivrutinen tolkar dessa instruktioner och ersätter kommandot som är lämpligt för varje DBMS.

Anmärkning

Alla DBMSs stöder inte CALL-instruktioner .

Om klasserna inte kan identifiera en instruktion från användaren i CRecordset::Opentolkas den som ett tabellnamn.

En förklaring av hur ramverket konstruerar SQL-instruktioner finns i Recordset: How Recordsets Select Records (ODBC) and SQL: Customizing Your Recordset's SQL Statement (ODBC).

SQL-databaser använder datatyper som liknar dem som används i C och C++. En diskussion om dessa likheter finns i SQL: SQL och C++ Data Types (ODBC).

Du hittar mer information om SQL, inklusive en lista över SQL-instruktioner som stöds, datatyper, SQL Core-grammatik och en läslista över rekommenderade publikationer om SQL i Microsoft SQL-dokumentationen .

Så här använder databasklasserna SQL

De postuppsättningar som du härleder från databasklasserna använder ODBC för att kommunicera med en datakälla, och ODBC hämtar poster från datakällan genom att skicka SQL-instruktioner. Det här avsnittet förklarar relationen mellan databasklasserna och SQL.

En postuppsättning konstruerar en SQL-instruktion genom att bygga upp delarna av en SQL-instruktion i en CString. Strängen konstrueras som en SELECT-instruktion som returnerar en uppsättning poster.

När postuppsättningen anropar ODBC för att skicka en SQL-instruktion till datakällan, skickar ODBC Driver Manager instruktionen till ODBC-drivrutinen och drivrutinen skickar den vidare till det underliggande DBMS. DBMS returnerar en resultatuppsättning poster och ODBC-drivrutinen returnerar posterna till programmet. Databasklasserna låter programmet komma åt resultatuppsättningen i en typsäker C++-klass som härletts från CRecordset.

Följande avsnitt innehåller mer information om hur databasklasserna använder SQL:

Se även

Open Database Connectivity (ODBC)
Grunderna i ODBC