SQL

SQL

Cours de SQL

Qu’est ce que le SQL ? Le SQL est un 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. )

Une Clef primaire : C’est ce qui permet d’identifier de manière unique un enregistrement (ligne) d’une table.

Une clef étrangère : C’est ce qui permet d’identifier de manière unique un enregistrement d’une autre table.

Voici un récapitulatif des commandes vu en cour avec Monsieur Martin

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;