Notions de base en SQL

SQL, notions de base

Description : Langage standard pour interroger ou modifier une base de données relationnelle. Les données sont présentées sous forme de tables et de relations entre ces tables.
La clé primaire permet d’identifier de manière unique un enregistrement (ligne) d’une table.
La clé étrangère permet d’identifier de manière unique un enregistrement d’une autre table. Les clés peuvent être composées d’un ou plusieurs champs (colonnes) de la table.

Manipulation de bases et tables

Création d’une db nommée ‘test’:
CREATE DATABASE test;

Déclaration de cette db comme db par défaut:
USE test; 

Création de table avec clé primaire:
 CREATE TABLE region
    (
        id         INTEGER NOT NULL PRIMARY KEY,
        nom        VARCHAR(64) NULL
    );   

Création de table avec clé primaire et clé étrangère:
 CREATE TABLE personne
    (
        id        INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
        nom        VARCHAR(64) NULL,
        idreg    INTEGER NULL,
        CONSTRAINT fk_personne FOREIGN KEY (idreg) REFERENCES region(id)
    );   

Insertion de données dans une table:
INSERT INTO region (id, nom)
    VALUES
        (1, ‘Nord’),
        (2, ‘Est’),
        (3, ‘Sud’),
        (4, ‘Ouest’);       

    INSERT INTO personne (nom, idreg)
    VALUES
        (‘Bill’, 1),
        (‘Bob’, 2),
        (‘Jane’, 2),
        (‘Mary’, 4);  

Suppression de base
DROP DATABASE test;

Suppression de table:
 DROP TABLE personne;

Recherche dans les tables

Affichage de toute la table:
SELECT * FROM personne;

Avec filtre sur un champ:
SELECT * FROM personne WHERE nom like ‘B%’;  

Requêtes sur plusieurs tables (toutes les combinaisons)
SELECT * FROM region, personne;

Avec correspondance sur les clés:
SELECT * FROM region, personne
    WHERE region.id = personne.idreg; 

Avec clés et filtre:
SELECT *
    FROM region, personne
    WHERE region.id = personne.idreg
      AND personne.nom like ‘B%’
      AND region.id < 2;  

En limitant le résultat à certains champs:
SELECT personne.nom, region.nom, idreg
    FROM region, personne
    WHERE region.id = personne.idreg
      AND personne.nom like ‘B%’
      AND region.id < 2;

Opérations sur les résultats:
SELECT id+12 FROM personne;

Renommage des champs du résultat:
SELECT (id+12) as resultat FROM personne;

Alias d’une table de la requête:
 SELECT P.nom, R.nom
    FROM region R, personne P
    WHERE R.id = P.idreg;

    SELECT A.nom, B.nom
    FROM personne A, personne B
    WHERE A.id <> B.id;

Fonctions d’agrégation

    SELECT SUM(idreg) FROM personne;
    SELECT MIN(idreg) FROM personne;
    SELECT MAX(idreg) FROM personne;
    SELECT AVG(idreg) FROM personne;
    SELECT COUNT(*) FROM personne;

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *