Utilisation de SQL dans. Entre SQL : exemples, description. Syntaxe de l'instruction SELECT et ordre de traitement

SQL (ˈɛsˈkjuˈɛl ; anglais langage de requête structuré - « langage de requête structuré ») est un langage de programmation déclaratif utilisé pour créer, modifier et gérer des données dans une base de données relationnelle.

Conformité aux standards SQL pour différentes bases de données :

SQL (Structured Query Language - langage de requête structuré). SQL est avant tout un langage logique d'information conçu pour décrire les données stockées, récupérer les données stockées et modifier les données.

SQL n'est pas un langage de programmation. À mesure que SQL est devenu plus complexe, il est devenu davantage un langage de programmation d'applications et les utilisateurs peuvent désormais utiliser des générateurs de requêtes visuels.

SQL est un langage qui ne respecte pas la casse. Les chaînes en SQL sont placées entre guillemets simples.

Le langage SQL est un ensemble d'instructions. Les instructions SQL sont divisées en :

    Langage de définition de données (DDL) - langage de description de schéma en ANSI, composé de commandes qui créent des objets (tables, index, vues, etc.) dans la base de données (CREATE, DROP, ALTER, etc.).

    Les opérateurs de manipulation de données (Data Manipulation Language, DML) sont un ensemble de commandes qui déterminent quelles valeurs sont présentées dans les tableaux à tout moment (INSERT, DELETE, SELECT, UPDATE, etc.).

    Instructions de définition d'accès aux données (Data Control Language, DCL) - se composent d'outils qui déterminent s'il faut autoriser ou non l'utilisateur à effectuer certaines actions (GRANT/REVOKE, LOCK/UNLOCK).

    Opérateurs du langage de contrôle des transactions (TCL)

Malheureusement, ces termes ne sont pas utilisés universellement dans toutes les implémentations. Elles sont soulignées par ANSI et sont utiles au niveau conceptuel, mais la plupart des programmes SQL ne font pas grand-chose pour les traiter séparément, elles deviennent donc essentiellement des catégories fonctionnelles de commandes SQL.

SÉLECTIONNER la section REJOINDRE

    Simple JOIN (=intersection JOIN =INNER JOIN) - signifie afficher uniquement les enregistrements communs des deux tables. La manière dont les enregistrements sont considérés comme partagés est déterminée par les champs de l'expression de jointure. Par exemple, l'entrée suivante : FROM t1 JOIN t2 ON t1. identifiant = t2. identifiant

    signifie que les enregistrements avec le même identifiant qui existent dans les deux tables seront affichés.

    LEFT JOIN (ou LEFT OUTER JOIN) signifie afficher tous les enregistrements de la table de gauche (celui qui vient en premier dans l'expression de jointure), qu'il existe ou non des enregistrements correspondants dans la table de droite. S'il n'y a aucun enregistrement dans la table de droite, la valeur vide NULL est définie.

    RIGHT JOIN (ou RIGHT OUTER JOIN) agit contrairement à LEFT JOIN - il affiche tous les enregistrements de la table de droite (deuxième) et uniquement ceux qui correspondent à la table de gauche (première).

    Autres types de jointures JOIN : MINUS - soustraction ; FULL JOIN - jointure complète ; CROSS JOIN - « Tout le monde avec tout le monde » ou l'opération produit cartésienne.

SELECT JOIN SUBSTRING INSERT INTO users_auth VALUES (par défaut, "root", MD5("root"));

    INSERT IGNORE Si vous spécifiez le mot-clé IGNORE dans une commande INSERT avec des lignes comportant plusieurs valeurs, toutes les lignes comportant des clés PRIMARY ou UNIQUE en double dans cette table seront ignorées et ne seront pas insérées. Si vous ne spécifiez pas IGNORE, cette opération d'insertion s'interrompt lorsqu'elle rencontre une ligne comportant une valeur en double pour une clé existante.

INSÉRER Ignorer dans les valeurs des prix (par défaut, 1, 1111, "Fr", 50, 50, 1, 1)

La commande REPLACE diffère de INSERT uniquement en ce que s'il existe un enregistrement dans la table avec la même valeur dans le champ indexé (index unique) que le nouvel enregistrement, alors l'ancien enregistrement est supprimé avant d'ajouter le nouveau.

MISE À JOUR< tablename>ENSEMBLE ( | ) .,.< COLUMN name> = < VALUE expresslon>.< predlcate>[OÙ< cursor name>|

OÙ COURANT DE

(*uniquement pour pièce jointe*) ] ;

UPDATE pairs SET zone= "voip" ; # met à jour toutes les lignes de la colonne zone de la table des pairs UPDATE stat SET whp= "13x13x13" WHERE id = 1 ; UPDATE country SET nm_ukr= ( SELECT del_countries. ukrainian FROM del_countries WHERE country. nm_en= del_countries. english ) ;

Utilisation de WordPress, paramètre : dans la table wp_posts, supprimez toutes les occurrences de la ligne

UPDATE wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;

SUPPRIMER DE

    [ OÙ | OÙ COURANT DE (*pièce jointe uniquement*) ] ;

    Notez que l'exécution de cette commande n'affecte pas les lignes existantes dans la table ; la commande modifiera uniquement la valeur par défaut pour les futures commandes INSERT. Pour supprimer toute valeur par défaut, utilisez

    Produits ALTER TABLE ALTER COLUMN prix DROP DEFAULT ;

    La commande fait la même chose que définir la valeur par défaut sur null. Étant donné que la suppression d'une valeur par défaut la définit implicitement sur null, aucune erreur ne sera signalée si une valeur par défaut existante est supprimée.

    Fonctionne comme valeur par défaut pour la colonne. Dans ce cas, la colonne de suivi du temps a un type de données timestamp, ce qui signifie que sa valeur par défaut peut être définie sur la fonction intégrée now(), c'est-à-dire lors de l'ajout d'une nouvelle ligne à la colonne, la date et l'heure actuelles seront enregistrées ALTER TABLE timetracking ALTER COLUMN date_wd SET DEFAULT now();

    Ajout d'une contrainte. Pour ajouter une contrainte, la syntaxe de table permettant de définir cette contrainte est utilisée. Par exemple : produits ALTER TABLE ADD CHECK (nom ""); ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;

    Pour ajouter une contrainte non nulle qui ne peut pas être écrite comme contrainte de table, utilisez la syntaxe :

    ALTER TABLE produits ALTER COLUMN product_no SET NOT NULL ;

    La contrainte spécifiée sera appliquée immédiatement, les données de la table doivent donc la satisfaire avant d'ajouter la contrainte.

Fonctions d'agrégation

Il existe 5 fonctions d'agrégation en SQL standard :

    COUNT - la fonction renvoie le nombre de lignes qui répondent à certains critères.,

    SOMME - renvoie la somme (totale) des valeurs dans une colonne spécifique. Les lignes de colonnes avec des valeurs NULL sont ignorées par la fonction SUM.

    AVG - valeur moyenne dans la colonne,

Les fonctions d'agrégation sont utilisées comme noms de champ dans une clause de requête SELECT, à une exception près : les noms de champ sont utilisés comme arguments. Les fonctions SUM et AVG ne peuvent fonctionner qu'avec des champs numériques. Les fonctions COUNT, MAX, MIN fonctionnent avec des champs numériques et caractères. Lorsqu'elles sont appliquées aux champs de caractères, les fonctions MAX et MIN peuvent fonctionner avec les équivalents ASCII des caractères.

SELECT Count(Books.ID) AS [Nombre de livres] FROM Livres ;

L'utilisation de CROUP BY vous permet d'appliquer des fonctions d'agrégation à des groupes d'enregistrements.

SELECT Count(Books.ID) AS [Nombre de livres] FROM Livres GROUP BY [Écrivain] ;

Vues (VOIR)

Une VUE est un objet de données qui ne contient aucune donnée sur son propriétaire. Il s'agit d'un type de table dont le contenu est récupéré d'autres tables en exécutant une requête.

Les tables de base sont des tables qui contiennent des données. Il existe cependant un autre type de tableau : - les vues (VIEW). Les vues sont des tables dont le contenu est sélectionné ou obtenu à partir d'autres tables. Ils fonctionnent dans les requêtes et les instructions DML tout comme les tables principales, mais ne contiennent aucune donnée propre. Les vues sont comme des fenêtres à travers lesquelles vous visualisez les informations réellement stockées dans la table sous-jacente.

    Commande CRÉER UNE VUE. La vue est créée avec la commande CREATE VIEW. Il se compose des mots CREATE VIEW, du nom de la vue à créer, du mot AS (HOW), puis de la requête. Créons la vue Londonstaff : CREATE VIEW Londonstaff AS SELECT * FROM Salespeople WHERE city = "London";

    Cette vue est utilisée comme n’importe quelle autre table. Il peut être interrogé, modifié, inséré, supprimé et joint à d'autres tables et vues. Demande de soumission.

    Le standard de langage SQL a été adopté en 1992 et est toujours utilisé aujourd'hui. C'est ce qui est devenu la norme pour beaucoup. Bien entendu, certains fabricants utilisent leurs propres interprétations de la norme. Mais tout système possède toujours les composants principaux - les instructions SQL.

    Introduction

    À l'aide d'instructions SQL, les valeurs et les tableaux sont gérés et obtenus pour une analyse et un affichage plus approfondis. Il s'agit d'un ensemble de mots-clés grâce auxquels le système comprend quoi faire avec les données.

    Plusieurs catégories d'instructions SQL sont définies :

    • définir des objets de base de données ;
    • manipulation des valeurs;
    • protection et contrôle;
    • paramètres de session ;
    • des informations sur la base de données ;
    • SQL statique ;
    • SQL dynamique.
    Instructions SQL pour la manipulation des données

    INSÉRER. Insère des lignes dans un tableau existant. Il peut être utilisé pour une ou plusieurs valeurs, définies par une certaine condition. Par exemple:

    nom de la table (nom de la colonne 1, nom de la colonne 2)

    VALEURS(valeur 1, valeur 2).

    Pour utiliser l'instruction INSERT sur plusieurs valeurs, utilisez la syntaxe suivante :

    nom de la table 1 (nom de la colonne 1, nom de la colonne 2)

    SELECT nom de colonne 1, nom de colonne 2

    DE nom de table 2

    OÙ nom de la table 2.nom de la colonne 1>2

    Cette requête sélectionnera toutes les données du tableau 2 supérieures à 2 dans la colonne 1 et les insérera dans la première.

    MISE À JOUR. Comme son nom l'indique, cette instruction de requête SQL met à jour les données d'une table existante en fonction d'une fonctionnalité spécifique.

    MISE À JOUR du nom de la table 1

    SET nom de colonne 2 = "Vasily"

    OÙ nom de la table 1.nom de la colonne 1 = 1

    Cette construction remplira avec la valeur Vasily toutes les lignes dans lesquelles elle rencontre le chiffre 1 dans la première colonne.

    Données du tableau. Vous pouvez spécifier une condition ou supprimer toutes les lignes.

    DELETE FROM nom de la table

    OÙ nom de la table.nom de la colonne 1 = 1

    La requête ci-dessus supprimera de la base de données toutes les données ayant la valeur un dans la première colonne. Voici comment vider tout le tableau :

    Instruction SELECT

    L'objectif principal de SELECT est de sélectionner des données selon certaines conditions. Le résultat de son travail est toujours un nouveau tableau avec des données sélectionnées. L'opérateur MS peut être utilisé dans une variété de requêtes différentes. Par conséquent, vous pouvez également considérer d’autres mots-clés associés.

    Pour sélectionner toutes les données d'une table spécifique, utilisez le signe « * ».

    DE nom de table 1

    Le résultat de cette requête sera une copie exacte du tableau 1.

    Et ici une sélection est effectuée à l'aide de la condition WHERE, qui récupère du tableau 1 toutes les valeurs supérieures à 2 dans la colonne 1.

    DE nom de table 1

    OÙ nom de la table 1.nom de la colonne 1 > 2

    Vous pouvez également spécifier dans la sélection que seules certaines colonnes sont nécessaires.

    SELECT nom de la table 1.nom de la colonne 1

    DE nom de table 1

    Le résultat de cette requête sera toutes les lignes avec les valeurs de la colonne 1. À l'aide des instructions MS SQL, vous pouvez créer votre propre table, en remplaçant, calculant et substituant certaines valeurs à la volée.

    nom de la table 1.nom de la colonne 1

    nom de la table 1.nom de la colonne 2

    nom de la table 1.nom de la colonne 3

    nom de la table 1.nom de la colonne 2 * nom de la table 1.nom de la colonne 3 AS SUMMA

    DE nom de table 1

    Cette requête apparemment complexe récupère toutes les valeurs du tableau 1, puis crée de nouvelles colonnes EQ et SUMMA. La première est remplie du signe « + », et la seconde est le produit des données des colonnes 2 et 3. Le résultat obtenu peut être présenté sous forme de tableau pour comprendre son fonctionnement :

    Lorsque vous utilisez l'instruction SELECT, vous pouvez immédiatement trier les données selon n'importe quel critère. Le mot ORDER BY est utilisé à cet effet.

    nom de la table 1.nom de la colonne 1

    nom de la table 1.nom de la colonne 2

    nom de la table 1.nom de la colonne 3

    DE nom de table 1

    ORDER BY nom de colonne 2

    Le tableau résultant ressemblera à ceci :

    Autrement dit, toutes les lignes ont été définies dans un ordre tel que les valeurs de la colonne 2 étaient par ordre croissant.

    Les données peuvent également être obtenues à partir de plusieurs tableaux. Pour plus de clarté, vous devez d'abord imaginer qu'il y en a deux dans la base de données, quelque chose comme ceci :

    Tableau "Employés"

    Tableau "Salaire"

    Nous devons maintenant relier d’une manière ou d’une autre ces deux tables pour obtenir des valeurs communes. En utilisant des instructions SQL de base, vous pouvez procéder comme ceci :

    Employés.Nombre

    Employés.Nom

    Salaire.Taux

    Salaire accumulé.

    DE Employés, Salaire

    OÙ Employés.Nombre = Salaire.Numéro

    Ici, nous sélectionnons parmi deux tableaux de valeurs différents, combinés par nombre. Le résultat sera l’ensemble de données suivant :

    Un peu plus sur SELECT. Utilisation des fonctions d'agrégation

    L'un des principaux opérateurs peut effectuer certains calculs lors de la récupération. Pour ce faire, il utilise certaines fonctions et formules.

    Par exemple, pour obtenir le nombre d'enregistrements de la table Employés, vous devez utiliser la requête :

    SÉLECTIONNER LE COMPTE (*) COMME N

    DES Employés

    Le résultat est un tableau avec une valeur et une colonne.

    Vous pouvez exécuter une requête comme celle-ci et voir ce qui se passe :

    SUM(Salaire. Accumulé) AS SUMMA

    MAX(Salaire. Accumulé) AS MAX

    MIN (Salaire. Accumulé) AS MIN

    AVG (Salaire. Accumulé) AS SRED

    DE Salaire

    La table finale ressemblera à ceci :

De cette façon, vous pouvez sélectionner les valeurs souhaitées dans la base de données, en calculant diverses fonctions à la volée.

Union, intersection et différences

Combiner plusieurs requêtes en SQL

SELECT Employés.Nom

DES Employés

OÙ Employés.Nombre = 1

SELECT Employés.Nom

DE Employés, Salaire

OÙ Salaire.Nombre = 1

Il faut garder à l'esprit qu'avec une telle union, les tableaux doivent être compatibles. Autrement dit, avoir le même nombre de colonnes.

Syntaxe de l'instruction SELECT et ordre de traitement

La première chose que fait SELECT est de déterminer la zone dans laquelle il prendra les données. Le mot-clé FROM est utilisé à cet effet. S'il n'est pas indiqué quoi choisir exactement.

Ensuite, la clause SQL WHERE peut être présente. Avec son aide, SELECT parcourt toutes les lignes du tableau et vérifie la conformité des données à la condition.

Si la requête contient GROUP BY, alors les valeurs sont regroupées selon les paramètres spécifiés.

Opérateurs de comparaison de données

Il en existe plusieurs types. En SQL, les opérateurs de comparaison peuvent tester différents types de valeurs.

    "=". Désigne, comme vous pouvez le deviner, l'égalité de deux expressions. Par exemple, il a déjà été utilisé dans les exemples ci-dessus - WHERE Salary.Number = 1.

    ">". Plus de signe. Si la valeur du côté gauche de l’expression est supérieure, alors le VRAI logique est renvoyé et la condition est considérée comme satisfaite.

    «

Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :