Image ventilateur qui tourne fond du ventilateur Circuit imprimé (image de titrage diode verte diode rouge
Administration

SQL

INFORMATIQUE > BASES DE DONNÉES

INFORMATIQUE > LANGAGES INFORMATIQUES

Le modèle relationnel inventé par E.F. Codd, Directeur de recherche du centre IBM de San José, en 1970 a donné lieu à de nombreux langages. C'est SQL, normalisé en 1986 aux Etats-Unis (norme ANSI SQL/86) et au niveau international en 87 (Norme ISO), qui s'est imposé.

SQL a connu une série de versions : SQL-86, SQL-89, SQL-92, SQL-99, SQL-2003, SQL-2006, SQL-2008. Les SGBDR implémentent plus ou moins bien ces normes et implémentent en plus certaines fonctionnalités qui n'appartiennent pas à la norme.

SQL peut être décomposé en 4 langages différents en fonction de leur rôle.

  • Un langage de définition de données (abrégé en LDD ou en anglais DDL). C'est lui qui permet de créer, de modifier et de supprimer des tables, des vues, des index,...
  • Un langage de contrôle de données (abrégé en LCD ou en anglais DCL) pour créer des utilisateurs et gérer leurs droits.
  • Un langage de manipulation de données (abrégé en LMD ou en anglais DML) pour rechercher, insérer, modifier ou supprimer les données (Commandes INSERT, UPDATE, SELECT, DELETE,...).
  • Un langage de contrôle de contrôle de transaction (abrégé en LCT, ou en anglais TCL) pour gérer les transactions (Commandes COMMIT et ROLLBACK).

Guide de survie SQL

Nous rappelons ci-dessous la syntaxe des principales instructions SQL

Instruction SELECT

 
SELECT colonne1, colonne2....colonneN
FROM   Nom_de_table;

Clause DISTINCT

 
SELECT DISTINCT colonne1, colonne2... colonneN
FROM   Nom_de_table;

Clause WHERE

 
SELECT colonne1, colonne2.... colonneN
FROM   Nom_de_table
WHERE  CONDITION;

AND/OR (condition avec AND/OR)

 
SELECT colonne1, colonne2.... colonneN
FROM    Nom_de_table
WHERE  CONDITION1 {AND|OR} CONDITION2;

IN

 
SELECT colonne1, colonne2.... colonneN
FROM   Nom_de_table
WHERE  nom_de_colonne IN (val1, val2,...valN);

BETWEEN

 
SELECT colonne1, colonne2.... colonneN
FROM   Nom_de_table
WHERE  nom_de_colonnee BETWEEN val1 AND val2;

LIKE

 
SELECT colonne1, colonne2.... colonneN
FROM  Nom_de_table
WHERE  nom_de_colonne LIKE { PATTERN };

Clause ORDER BY

 
SELECT colonne1, colonne2.... colonneN
FROM  Nom_de_table
WHERE  CONDITION
ORDER BY column_name {ASC|DESC};

GROUP BY

 
SELECT SUM (nom_de_colonne)
FROM   Nom_de_table
WHERE  CONDITION
GROUP BY cnom_de_colonne;

COUNT

 
SELECT COUNT(column_name)
FROM  Nom_de_table
WHERE  CONDITION;

HAVING

 
SELECT SUM(nom_de_colonne)
FROM   Nom_de_table
WHERE  CONDITION
GROUP BY nom_de_colonne
HAVING (arithematic function condition);

CREATE TABLE (création de table)

 
CREATE TABLE Nom_de_table(
type de colonne1,
type de colonne2,
type de colonne3,
.....
type de colonneN,
PRIMARY KEY( une ou plusieurs colonnes)
);

DROP TABLE (suppression de table)

 
DROP TABLE Nom_de_table;

CREATE INDEX (création d'un index)

 
CREATE UNIQUE INDEX index_name
ON Nom_de_table ( column1, column2,...columnN);

DROP INDEX (suppression d'un index)

 
ALTER TABLE Nom_de_table
DROP INDEX nom_d'index;

DESC

 
DESC Nom_de_tablee;

TRUNCATE TABLE

 
TRUNCATE TABLE Nom_de_table;

ALTER TABLE (modification d'une table)

 
ALTER TABLENom_de_table {ADD|DROP|MODIFY} nom_de_colonne {data_ype};

ALTER TABLE (renommage une table)

 
ALTER TABLE Nom_de_table RENAME TO Nouveau_nom_de_table;

INSERT INTO (insertion d'une ligne)

 
INSERT INTO Nom_de_table( colonne1, colonne2....colonneN)
VALUES ( val1, val2....valN);

UPDATE (mise à jour d'une table)


UPDATE Nom_de_table
SET colonne1 = valeur1, colonne2 = valeur2....colonneN=valeurN
[ WHERE  CONDITION ];

DELETE (effacement d'enregistrement)

 
DELETE FROM Nom_de_table
WHERE  {CONDITION};

CREATE DATABASE (création d'une base)

 
CREATE DATABASEnom_de_base;

DROP DATABASE

 
DROP DATABASE nom_de_base;

USE

 
USEnom_de_base;

COMMIT (validation d'une transaction)

 
COMMIT;

ROLLBACK (annulation d'une transaction)

 
ROLLBACK;