Escolar Documentos
Profissional Documentos
Cultura Documentos
1- Dfinition:
Cest le langage d'interrogation Structur. En fait SQL est un langage complet de gestion de
bases de donnes relationnelles.
Il a t conu par IBM dans les annes 70. Il est devenu le langage standard des systmes de
gestion de bases de donnes (SGBD) relationnelles (SGBDR).
C'est la fois :
Un langage de dfinition des donnes (LDD) ordres CREATE, ALTER, DROP
2- LDD
2.1) La cration d'une table
L'ordre CREATE TABLE permet de crer une table en dfinissant le nom, le type de
chacune des colonnes de la table ainsi que les contraintes. Une syntaxe simplifie est la
suivante :
Exemples :
CREATE TABLE Clients (ncin NUMBER(8),
nom VARCHAR(20) NOT NULL,
prnom VARCHAR(15),
adresse VARCHAR(20),
CONSTRAINT PK_cl PRIMARY KEY (ncin)) ;
CREATE TABLE Commandes (num_com NUMBER,
date_com DATE,
ncin NUMBER(8),
CONSTRAINT PK_com PRIMARY KEY (num_com),
CONSTRAINT FK_com FOREIGN KEY (ncin) REFERENCES Clients(ncin),
CONSTRAINT CK_com CHECK (num_com between 1 and 999));
On peut ajouter lattribut unsigned pour indiquer que votre nombre nest pas sign.
Les types binaires sont dfinis de la mme faon que les types de chanes de
texte. VARBINARY(x) et BINARY(x) permettent de stocker des chanes binaires
de x caractres maximum (avec une gestion de la mmoire identique
VARCHAR(x) et CHAR(x)). Pour les chanes plus longues, il existe les
types TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB.
Exemples DATE :
'AAAA-MM-JJ' (c'est sous ce format-ci qu'une DATE est stocke dans MySQL)
'AAMMJJ'
'AAAA/MM/JJ'
'AA+MM+JJ'
'AAAA%MM%JJ'
AAAAMMJJ (nombre)
AAMMJJ (nombre)
Exemples : TIME
'HH:MM:SS'
'HHH:MM:SS'
'MM:SS'
'J HH:MM:SS'
'HHMMSS'
HHMMSS (nombre)
Exemple DATETIME :
'AAAA-MM-JJ HH:MM:SS'
'AA*MM*JJ HH+MM+SS'
AAAAMMJJHHMMSS (nombre)
Exemples :
ALTER TABLE Clients RENAME TO LESCLIENTS ;
ALTER TABLE LESCLIENTS
ADD (age NUMBER(3) CHECK (age < 150), taille NUMBER(3,2));
ALTER TABLE LESCLIENTS
MODIFY (age NUMBER CHECK (age BETWEEN 15 and 150));
ALTER TABLE LESCLIENTS
DROP COLUMN taille CASCADE CONSTRAINTS;
ALTER TABLE LESCLIENTS RENAME COLUMN age TO age_cli;
L'ordre DROP TABLE permet de supprimer une table et tout son contenu. Sa syntaxe est la
suivante :
CASCADE CONSTRAINTS
Supprime toutes les contraintes de cl externe rfrenant cette table
Si on cherche dtruire une table dont certains attributs sont rfrencs sans spcifier
CASCADE CONSTRAINT: refus
Exemples :
DROP TABLE Commandes CASCADE CONSTRAINTS;
3. LMD
Une fois les tables cres, on peut commencer y insrer des donnes, les mettre jour, les
supprimer. Toutes ces oprations sont des oprations de manipulation des bases de donnes.
Pour effectuer ces manipulations, SQL dispose de 3 instructions :
INSERT
UPDATE
DELETE
3.1) Insrer des donnes
La commande INSERT est utilise pour ajouter des enregistrements ou des parties
d'enregistrements dans des tables. Elle est utilise gnralement sous deux formes :
1re forme :
INSERT INTO table [(liste dattributs)] VALUES (liste des valeurs) ;
2me forme :
INSERT INTO table [(liste dattributs)] {requte SQL} ;
Exemples :
A-Insrer le client suivant dans la table client : 100, Karray, Tunis, 98111222 .
Exemples :
Soit la table PRODUIT (RefProd, LibProd, PrixU, Stock)
A-Modifier les prix de tous les produits. Le nouveau prix = 1000.
UPDATE Produit SET PrixU = 1000 ;
B-Modifier les prix de tous les produits dont le stock est suprieur 25.
(PrixU = PrixU *1.1)
UPDATE Produit SET PrixU = PrixU * 1.1
WHERE Stock > 25 ;
C-Modifier la quantit en stock des produits dont le prix est infrieur la moyenne des prix.
(Stock= Stock 10).
UPDATE Produit SET Stock = Stock 10
WHERE PrixU < (SELECT AVG(PrixU) FROM Produit);
Exemples :
Supprimer tous les produits DELETE FROM Produit
Supprimer tous les produits dont le stock est infrieur 10.
DELETE FROM Produit
HEDFI SOUHIR Page 5
Bases de donnes