Skip to main content

Introduction aux bases de SQL

Les bases de SQL | Partie 1 - CREATE (Avril 2024)

Les bases de SQL | Partie 1 - CREATE (Avril 2024)
Anonim

Le langage de requête structuré est l’un des éléments fondamentaux de l’architecture de base de données moderne. SQL définit les méthodes utilisées pour créer et manipuler des bases de données relationnelles sur toutes les principales plates-formes. À première vue, le langage peut sembler intimidant et complexe, mais ce n’est pas si difficile.

À propos de SQL

La prononciation correcte de SQL est une question controversée au sein de la communauté de base de données. Dans sa norme SQL, l’American National Standards Institute a déclaré que la prononciation officielle était "es queue el". Cependant, de nombreux professionnels de bases de données ont pris à la prononciation de l'argot "suite". Le choix t'appartient.

SQL vient dans beaucoup de saveurs. Les bases de données Oracle utilisent son système propriétaire PL / SQL. Microsoft SQL Server utilise Transact-SQL. Toutes les variantes sont basées sur le standard SQL ANSI. Cette introduction utilise des commandes SQL compatibles ANSI qui fonctionnent sur n’importe quel système de base de données relationnelle moderne.

DDL et DML

Les commandes SQL peuvent être divisées en deux sous-langages principaux. Le langage de définition de données (DDL) contient les commandes utilisées pour créer et détruire des bases de données et des objets de base de données. Une fois la structure de la base de données définie avec DDL, les administrateurs de base de données et les utilisateurs peuvent utiliser le langage DML (Data Manipulation Language) pour insérer, extraire et modifier les données qu’il contient.

Commandes de langage de définition de données

Le langage de définition de données est utilisé pour créer et détruire des bases de données et des objets de base de données. Ces commandes sont principalement utilisées par les administrateurs de base de données lors des phases d'installation et de suppression d'un projet de base de données. Voici un aperçu de la structure et de l’utilisation de quatre commandes DDL de base:

CRÉER.L'installation d'un système de gestion de base de données sur un ordinateur vous permet de créer et de gérer de nombreuses bases de données indépendantes. Par exemple, vous souhaiterez peut-être gérer une base de données de contacts clients pour votre service commercial et une base de données de personnel pour votre service RH. La commande CREATE est utilisée pour établir chacune de ces bases de données sur votre plate-forme. Par exemple, la commande:

Employés CREATE DATABASE

crée une base de données vide nommée "employés" sur votre SGBD. Après avoir créé la base de données, l'étape suivante consiste à créer des tables contenant des données. Une autre variante de la commande CREATE peut être utilisée à cette fin. La commande:

CREATE TABLE personal_info (first_name char (20) non nul, last_name char (20) non nul, employee_id int int non null)

établit une table intitulée "personal_info" dans la base de données actuelle. Dans l'exemple, la table contient trois attributs: prénom, nom, et id_employé, ainsi que des informations supplémentaires.

UTILISATION.La commande USE vous permet de spécifier la base de données avec laquelle vous souhaitez travailler dans votre SGBD. Par exemple, si vous travaillez actuellement dans la base de données Sales et souhaitez émettre des commandes qui affecteront la base de données des employés, faites-les précéder de la commande SQL suivante:

UTILISER les employés

Il est important de toujours être conscient de la base de données sur laquelle vous travaillez avant d'émettre des commandes SQL manipulant des données.

MODIFIER.Une fois que vous avez créé une table dans une base de données, vous pouvez modifier sa définition. La commande ALTER vous permet d’apporter des modifications à la structure d’une table sans la supprimer ni la recréer. Regardez la commande suivante:

ALTER TABLE personal_info AJOUTER un salaire salaire null

Cet exemple ajoute un nouvel attribut à la table personal_info: le salaire d'un employé. L'argument "money" spécifie que le salaire d'un employé est stocké au format dollars et cents. Enfin, le mot clé "null" indique à la base de données qu'il est normal que ce champ ne contienne aucune valeur pour un employé donné.

LAISSEZ TOMBER.La dernière commande du langage de définition de données, DROP, nous permet de supprimer des objets de base de données entiers de notre SGBD. Par exemple, si nous voulons supprimer définitivement la table personal_info que nous avons créée, nous utiliserons la commande suivante:

DROP TABLE personal_info

De même, la commande ci-dessous serait utilisée pour supprimer toute la base de données d'employés:

Employés DROP DATABASE

Utilisez cette commande avec précaution. La commande DROP supprime des structures de données entières de votre base de données. Si vous souhaitez supprimer des enregistrements individuels, utilisez la commande DELETE du langage de manipulation de données.

Commandes du langage de manipulation de données

Le langage de manipulation de données (DML) est utilisé pour extraire, insérer et modifier les informations de la base de données. Ces commandes sont utilisées par tous les utilisateurs de la base de données lors des opérations de routine de la base de données.

INSÉRER.La commande INSERT en SQL permet d’ajouter des enregistrements à une table existante. Pour revenir à l'exemple personal_info de la section précédente, imaginez que notre service des ressources humaines ait besoin d'ajouter un nouvel employé à sa base de données. Vous pouvez utiliser une commande similaire à celle-ci:

INSERT INTO personal_infovaleurs ('bart', 'simpson', 12345, 45000 $)

Notez qu'il existe quatre valeurs spécifiées pour l'enregistrement. Ceux-ci correspondent aux attributs de la table dans l'ordre dans lequel ils ont été définis: prénom, dernier nom, id_employé et salaire.

SÉLECTIONNER.La commande SELECT est la commande la plus couramment utilisée en SQL. Il permet aux utilisateurs de bases de données de récupérer les informations spécifiques qu’ils souhaitent dans une base de données opérationnelle. Jetez un coup d'œil à quelques exemples, en utilisant à nouveau la table personal_info de la base de données des employés.

La commande ci-dessous récupère toutes les informations contenues dans la table personal_info. Notez que l'astérisque est utilisé comme un caractère générique dans SQL. Cela signifie littéralement "Tout sélectionner dans la table personal_info".

SELECT *FROM personal_info

Les utilisateurs peuvent également vouloir limiter les attributs extraits de la base de données. Par exemple, le service des ressources humaines peut exiger une liste des noms de famille de tous les employés de l'entreprise. La commande SQL suivante extrairait uniquement cette information:

SELECT nom de familleFROM personal_info

La clause WHERE peut être utilisée pour limiter les enregistrements récupérés à ceux qui répondent aux critères spécifiés. Le chef de la direction pourrait être intéressé par l'examen des dossiers du personnel de tous les employés hautement rémunérés. La commande suivante extrait toutes les données contenues dans personal_info pour les enregistrements dont la valeur de salaire est supérieure à 50 000 USD:

SELECT *FROM personal_infoO salaire> 50000 $

METTRE À JOUR.La commande UPDATE peut être utilisée pour modifier les informations contenues dans une table, en bloc ou individuellement. Supposons que l'entreprise accorde à tous les employés une augmentation de 3% de leur salaire chaque jour au coût de la vie. La commande SQL suivante pourrait être utilisée pour l'appliquer rapidement à tous les employés stockés dans la base de données:

UPDATE personal_infoSalaire SET = salaire * 1,03

Lorsque le nouvel employé, Bart Simpson, démontre une performance qui dépasse les attentes, la direction souhaite reconnaître ses réalisations remarquables avec une augmentation de 5 000 $. La clause WHERE pourrait être utilisée pour distinguer Bart de cette augmentation:

UPDATE personal_infoSET salaire = salaire + 5000 $WHERE employee_id = 12345

EFFACER.Pour finir, jetons un coup d’œil à la commande DELETE. Vous constaterez que la syntaxe de cette commande est similaire à celle des autres commandes DML. Malheureusement, notre dernier rapport sur les résultats des entreprises n’a pas vraiment répondu aux attentes et le pauvre Bart a été licencié. La commande DELETE avec une clause WHERE peut être utilisée pour supprimer son enregistrement de la table personal_info:

SUPPRIMER DE personal_infoWHERE employee_id = 12345

JOINs

Maintenant que vous avez appris les bases du SQL, il est temps de passer à l’un des concepts les plus puissants du langage: l’instruction JOIN. Une instruction JOIN vous permet de combiner des données dans plusieurs tables pour traiter efficacement de grandes quantités de données. Ces déclarations sont où le vrai pouvoir d'une base de données réside.

Pour explorer l'utilisation d'une opération JOIN de base permettant de combiner les données de deux tables, continuez avec l'exemple en utilisant la table PERSONAL_INFO et ajoutez une table supplémentaire au mélange. Supposons que vous ayez une table appelée DISCIPLINARY_ACTION créée avec l'instruction suivante:

CREATE TABLE disciplinary_action (action_id int non nul, employee_id int non nul, commentaires car (500))

Ce tableau contient les résultats des actions disciplinaires sur les employés de l'entreprise. Vous remarquerez qu'il ne contient aucune information sur l'employé autre que le numéro d'employé. Il est facile d’imaginer de nombreux scénarios dans lesquels vous pouvez combiner des informations provenant des tables DISCIPLINARY_ACTION et PERSONAL_INFO.

Supposons que vous soyez chargé de créer un rapport répertoriant les mesures disciplinaires prises à l'encontre de tous les employés dont le salaire est supérieur à 40 000 $. L'utilisation d'une opération JOIN, dans ce cas, est simple. Nous pouvons récupérer ces informations en utilisant la commande suivante:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.commentsFROM personal_info, disciplinary_actionWHERE personal_info.employee_id = disciplinary_action.employee_idAND personal_info.salary> 40000

Le code spécifie les deux tables que nous souhaitons associer à la clause FROM, puis inclut une instruction dans la clause WHERE pour limiter les résultats aux enregistrements ayant des ID d'employé correspondants et répondant à nos critères de salaire supérieur à 40 000 USD.