Partager via


SQL

SQL (Structured Query Language) est un moyen de communiquer avec une base de données relationnelle qui vous permet de définir, d’interroger, de modifier et de contrôler les données. À l’aide de la syntaxe SQL, vous pouvez construire une instruction qui extrait des enregistrements en fonction de critères que vous spécifiez.

Remarque

Ces informations s’appliquent aux classes ODBC MFC. Si vous utilisez les classes DAO MFC, consultez la rubrique Comparaison SQL entre le moteur de base de données Microsoft Jet et ANSI dans l’aide de DAO.

Les instructions SQL commencent par un verbe mot clé de type CREATE ou SELECT. SQL est un langage très puissant : une seule instruction peut affecter une table entière.

Il existe de nombreuses versions de SQL, chacune développée avec un SGBD particulier. Les classes de base de données MFC reconnaissent un ensemble d’instructions SQL qui correspondent au projet de spécification SQL CAE (Common Applications Environment) de X/Open et SQL Access Group (1991). Pour plus d’informations sur la syntaxe de ces instructions, consultez l’annexe C dans la documentation de référence du programmeur ODBC.

Cette rubrique explique :

ODBC (Open Database Connectivity)

Les classes de base de données sont implémentées avec ODBC, qui utilise SQL dans une interface CLI au lieu d’incorporer des commandes SQL dans le code. ODBC utilise SQL pour communiquer avec une source de données par le biais de pilotes ODBC. Ces pilotes interprètent le langage SQL et le traduisent, si nécessaire, pour pouvoir l’utiliser avec un format de base de données particulier, comme Microsoft Access. Pour plus d’informations sur la façon dont ODBC utilise SQL, consultez la documentation ODBC et odbc Programmer’s Reference.

Classes de base de données

Remarque

L’Assistant Consommateur ODBC MFC n’est pas disponible dans Visual Studio 2019 et ultérieur. Vous pouvez toujours créer un consommateur manuellement.

Les classes de base de données sont conçues pour vous permettre de manipuler et mettre à jour des données dans une source de données existante. L’Assistant Application MFC, l’Assistant Consommateur ODBC MFC (accessibles via Ajouter une classe) et les classes de base de données construisent la plupart des instructions SQL pour vous.

Les classes de base de données utilisent une partie de SQL connue sous le nom de langage de manipulation de données (DML). Ces commandes vous permettent d’utiliser tout ou partie de la source de données, d’ajouter de nouveaux enregistrements, de modifier des enregistrements et de supprimer des enregistrements. Le tableau suivant liste les mots clés SQL les plus courants et la façon dont les classes de base de données les utilisent.

Quelques mots clés SQL courants

Mot clé SQL Les Assistants et les classes de base de données l’utilisent
SELECT Pour identifier les tables et les colonnes de la source de données qui doivent être utilisées.
WHERE Pour appliquer un filtre qui réduit la sélection.
ORDER BY Pour appliquer un ordre de tri au recordset.
INSERT Pour ajouter de nouveaux enregistrements à un recordset.
DELETE Pour supprimer des enregistrements dans un recordset.
UPDATE Pour modifier les champs d’un enregistrement.

Par ailleurs, comme les classes de base de données reconnaissent les instructions CALL ODBC, vous pouvez les utiliser pour appeler une requête prédéfinie (ou procédure stockée) sur certaines sources de données. Le pilote de base de données ODBC interprète ces instructions et les remplace par la commande appropriée pour chaque SGBD.

Remarque

Les SGBD ne prennent pas tous en charge les instructions CALL.

Si les classes ne peuvent pas reconnaître une instruction fournie par l’utilisateur dans CRecordset::Open, elle est interprétée comme un nom de table.

Pour obtenir une explication de la façon dont l’infrastructure construit des instructions SQL, consultez Recordset : How Recordsets Select Records (ODBC) and SQL : Customizing Your Recordset’s SQL Statement (ODBC).

Les bases de données SQL utilisent des types de données similaires à ceux utilisés en C et C++. Pour une discussion sur ces similitudes, consultez SQL : SQL et C++ Data Types (ODBC) .

Vous trouverez plus d’informations sur SQL, notamment une liste d’instructions SQL prises en charge, de types de données, de grammaire de base SQL et d’une liste de lectures de publications recommandées sur SQL, dans la documentation Microsoft SQL .

Utilisation des classes de base de données SQL

Les recordsets que vous dérivez des classes de base de données utilisent ODBC pour communiquer avec une source de données, et ODBC récupère les enregistrements de la source de données en envoyant des instructions SQL. Cette rubrique explique la relation entre les classes de base de données et SQL.

Un recordset construit une instruction SQL en rassemblant les éléments d’une instruction SQL dans un CString. La chaîne est construite comme une instruction SELECT, qui retourne un jeu d’enregistrements.

Quand le recordset appelle ODBC pour envoyer une instruction SQL à la source de données, le Gestionnaire de pilotes ODBC transmet l’instruction au pilote ODBC, et le pilote l’envoie au SGBD sous-jacent. Le SGBD retourne le jeu d’enregistrements qui en résulte et le pilote ODBC retourne les enregistrements à l’application. Les classes de base de données permettent à votre programme d’accéder au jeu de résultats dans une classe C++ de type sécurisé à partir de CRecordset.

Les rubriques suivantes fournissent plus d’informations sur la façon dont les classes de base de données utilisent SQL :

Voir aussi

ODBC (Open Database Connectivity)
Éléments fondamentaux relatifs à ODBC