Introduction aux fondamentaux de SQL

click fraud protection

Le langage de requête structuré (SQL) 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, la langue peut sembler intimidante 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é des bases de données. Dans sa norme SQL, l'American National Standards Institute a déclaré que la prononciation officielle est "es queue el." Cependant, de nombreux professionnels des bases de données ont adopté la prononciation de l'argot "suite". de GIF, il n'y a pas de bonne réponse.

SQL se décline en plusieurs versions. Les bases de données Oracle utilisent son PL/SQL propriétaire. Microsoft SQL Server utilise Transact-SQL. Toutes les variantes sont basées sur la norme de l'industrie ANSI SQL.

Cette introduction utilise des commandes SQL conformes à la norme ANSI qui fonctionnent sur n'importe quel système de base de données relationnelle moderne.

instagram viewer

DDL et DML

Les commandes SQL peuvent être divisées en deux sous-langages principaux. Le langage de définition de données 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 et les utilisateurs de la base de données peuvent utiliser le langage de manipulation de données pour insérer, récupérer et modifier les données qu'il contient.

SQL prend en charge un troisième type de syntaxe appelé Langage de contrôle des données. DCL régit l'accès sécurisé aux objets de la base de données. Par exemple, un Script DCL accorde ou révoque des comptes d'utilisateurs spécifiques le droit de lire ou d'écrire dans des tables dans une ou plusieurs zones définies de la base de données. Dans la plupart des environnements multi-utilisateurs gérés, les administrateurs de base de données exécutent généralement des scripts DCL.

Commandes du 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 pendant les phases de configuration et de suppression d'un projet de base de données. DDL s'articule autour de quatre commandes principales—créer, utiliser, modifier, et tomber.

Créer

le créer La commande établit des bases de données, des tables ou des requêtes sur votre plate-forme. Par exemple, la commande:

CRÉER UNE BASE DE DONNÉES d'employés ;

crée une base de données vide nommée des 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 du créer commande accomplit cet objectif. La commande:

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

établit un tableau intitulé Informations personnelles dans la base de données actuelle. Dans l'exemple, la table contient trois attributs : Prénom, nom de famille, et employé_id accompagné de quelques informations supplémentaires.

Utiliser

le utiliser La commande spécifie la base de données active. Par exemple, si vous travaillez actuellement dans la base de données des ventes et que vous souhaitez émettre des commandes qui affecteront la base de données des employés, faites-leur précéder la commande SQL suivante:

UTILISER les employés ;

Vérifiez la base de données dans laquelle vous travaillez avant d'émettre des commandes SQL qui manipulent les données.

Modifier

Après avoir créé une table dans une base de données, modifiez sa définition via le modifier commande, qui modifie la structure d'une table sans la supprimer ni la recréer. Jetez un œil à la commande suivante:

ALTER TABLE personal_info AJOUTER argent salaire null;

Cet exemple ajoute un nouvel attribut à la table personal_info—le salaire d'un employé. le de l'argent L'argument spécifie que le salaire d'un employé est enregistré en utilisant un format en dollars et en cents. Finalement, le nul Le mot-clé indique à la base de données qu'il est acceptable que ce champ ne contienne aucune valeur pour un employé donné.

Tomber

La maîtrise finale du langage de définition de données, tomber, supprime des objets de base de données entiers de notre SGBD. Par exemple, pour supprimer définitivement la table personal_info que nous avons créée, utilisez la commande suivante:

DROP TABLE personal_info;

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

SUPPRIMER les employés de la BASE DE DONNÉES ;

Utilisez cette commande avec précaution. le tomber La commande supprime des structures de données entières de votre base de données. Si vous souhaitez supprimer des enregistrements individuels, utilisez le effacer maîtrise du langage de manipulation de données.

Commandes du langage de manipulation de données

Le langage de manipulation de données est utilisé pour récupérer, insérer et modifier les informations de la base de données. Ces commandes DML offrent le cadre typique pour interagir avec la base de données de manière routinière.

Insérer

le insérer La commande ajoute des enregistrements à une table existante. En revenant à l'exemple personal_info de la section précédente, imaginez que notre service RH doit ajouter un nouvel employé à sa base de données. Utilisez une commande similaire à celle-ci:

INSERT INTO personal_info
valeurs('bart','simpson',12345,45000$);

Notez qu'il y a 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, nom de famille, employé_id et un salaire.

Sélectionner

le sélectionner La commande est la commande la plus couramment utilisée en SQL. Il récupère des informations spécifiques à partir d'une base de données opérationnelle. Jetez un œil à quelques exemples, à nouveau en utilisant 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. L'astérisque est un caractère générique en SQL.

SÉLECTIONNER *
FROM personal_info;

Vous pouvez également limiter les attributs extraits de la base de données en spécifiant quelle est sélectionné. 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 ne récupérerait que ces informations:

SELECT last_name
FROM personal_info;

le La clause limite les enregistrements récupérés à ceux qui répondent aux critères spécifiés. Le PDG pourrait être intéressé à examiner les dossiers du personnel de tous les employés bien rémunérés. La commande suivante récupère toutes les données contenues dans personal_info pour les enregistrements dont la valeur salariale est supérieure à 50 000 $:

SÉLECTIONNER *
DE info_personnelle
O salaire > 50 000 $;

Mettre à jour

le mettre à jour La commande modifie les informations contenues dans une table, soit en bloc, soit individuellement. Supposons que l'entreprise accorde à tous les employés une augmentation annuelle de 3 % du coût de la vie. La commande SQL suivante applique ce bump à tous les employés stockés dans la base de données:

UPDATE personal_info
salaire SET = salaire * 1,03 ;

Lorsque le nouvel employé Bart Simpson démontre une performance au-delà de l'appel du devoir, la direction souhaite reconnaître ses réalisations exceptionnelles avec une augmentation de 5 000 $. La clause WHERE désigne Bart pour cette augmentation:

UPDATE personal_info
SET salaire = salaire + 5000
O id_employé = 12345 ;

Effacer

Enfin, jetons un coup d'œil à la effacer commander. Vous constaterez que la syntaxe de cette commande est similaire à celle des autres commandes DML. La commande SUPPRIMER, avec un clause, supprime un enregistrement d'une table:

SUPPRIMER DE personal_info
O id_employé = 12345 ;

DML prend également en charge les champs agrégés. Dans un sélectionner énoncé, des opérateurs mathématiques comme somme et compter résumer les données dans une requête. Par exemple, la requête :

sélectionnez count(*) dans personal_info ;

compte le nombre d'enregistrements dans la table.

Jointures de base de données

UNE rejoindre L'instruction combine des données dans plusieurs tables pour traiter efficacement de grandes quantités de données. Ces déclarations sont l'endroit où réside la véritable puissance d'une base de données.

Pour explorer l'utilisation d'une base rejoindre pour 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 des mesures disciplinaires qui a été créé avec la déclaration suivante:

CREATE TABLE disciplinaire_action (action_id int non nul, employee_id int non nul, commentaires char (500));

Ce tableau contient les résultats des mesures disciplinaires pour les employés de l'entreprise. Il ne contient aucune information sur l'employé autre que le numéro d'employé.

Supposons que vous ayez été chargé de créer un rapport répertoriant les mesures disciplinaires prises contre tous les employés dont le salaire est supérieur à 40 000 $. L'utilisation d'une opération JOIN, dans ce cas, est simple. Récupérez ces informations à l'aide de la commande suivante:

SELECT personal_info.first_name, personal_info.last_name, disciplinaire_action.comments
FROM personal_info INNER JOIN disciplinaire_action ON personal_info.employee_id = disciplinaire_action.employee_id
O info_personnelle.salaire > 40000 ;

Types de jointures

Types de jointure en SQL

Les jointures sont disponibles en plusieurs saveurs. Dans l'instruction SQL, la première table (généralement appelée Tableau A ou la Tableau de gauche) se joint à la deuxième table (généralement appelée Tableau B ou la Tableau de droite) d'une manière consciente de la position. Ainsi, si vous modifiez l'ordre des tables dans l'instruction de jointure, les résultats de l'opération seront différents. Les principaux types de jointure incluent:

  • Jointure interne: correspond uniquement aux enregistrements pour lesquels le au condition correspond aux mêmes enregistrements dans les deux tables.
  • Jointure externe: correspond uniquement aux enregistrements des deux tables qui exclure les résultats identifiés dans le au état.
  • Joindre à droite: Correspond à tous les enregistrements de la table B plus les enregistrements de la table A qui correspondent à la au état.
  • Joint gauche: Correspond à tous les enregistrements de la table A plus les enregistrements de la table B qui correspondent à la au état.
  • Jointure croisée: Correspond à tous les enregistrements comme si les tables étaient identiques. Ce processus génère quelque chose appelé produit cartésien. Souvent, les jointures croisées ne sont pas les bienvenues, car elles correspondent à chaque ligne du tableau A, individuellement, avec chaque ligne du tableau B. Ainsi, si la table A proposait cinq enregistrements et que la table B proposait 9 enregistrements, une requête de jointure croisée propose 45 lignes résultantes.
instagram story viewer