You are on page 1of 5

Administration base de donnes

ISET GABES

TP N3 : Requte SQL
1. Partie pratique : 2.1. Requte SQL :
1. Crer quatre tables en donnant les colonnes et le type de donnes associes chaque colonne. Syntaxe SQL : CREATE TABLE "nom de table" ("colonne 1" "type de donnes pour la colonne 1", "colonne 2" "type de donnes pour la colonne 2", ...). 2. Crer quatre tables avec des contraintes :
Contrainte Not Null dfinition
Une colonne accepte par dfaut une valeur NULL. Pour rejeter une valeur NULL dans une colonne, vous devez dfinir une contrainte sur cette colonne en indiquant que celle-ci naccepte pas de valeur NULL.

exemple
CREATE (SID TABLE Customer NULL, integer NOT

Last_Name varchar (30) NOT NULL, First_Name varchar(30)); CREATE (SID TABLE integer varchar Customer Unique, (30),

unique

La contrainte UNIQUE garantit que toutes les valeurs dune colonne ne peuvent comporter de doublons.

Last_Name

First_Name varchar(30));

check

La contrainte CHECK permet que toutes les valeurs dune colonne satisfassent des conditions donnes.

CREATE

TABLE

Customer (30),

(SID integer CHECK (SID > 0), Last_Name varchar First_Name varchar(30));

3. Crer quatre tables avec des cls primaires et des cls trangres.

Melle BEN ALI.S

Administration base de donnes

ISET GABES

CREATE TABLE ORDERS (Order_ID integer primary key, Order_Date date, Customer_SID integer references CUSTOMER(SID), Amount double); 4.Modifier les structures des tables cres :
-

Ajouter une colonne : Pour ajouter une colonne appele birth_date de type DATE la

table Customer : ALTER table customer add birth_date Date; - Supprimer une colonne : pour supprimer la colonne birth_date : ALTER table customer drop birth_date ; - Changer un nom de colonne : pour renommer "Address" comme "Addr" dans la table Customer : ALTER table customer change Address Addr char(50) ; - Changer les types de donnes dune colonne : pour changer le type de donnes pour "Addr" char(30) : ALTER table customer modify Addr char(30) ;
-

Changer les spcifications de la cl primaire : ALTER TABLE Customer ADD PRIMARY

KEY (SID); Assurer que le champ est dfini en tant que 'NOT NULL'. - Spcifier une cl trangre lors de la modification dune table et Ajouter une contrainte unique une colonne : ALTER TABLE ORDERS ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID); 5. Supprimer deux tables.

Melle BEN ALI.S

Administration base de donnes Syntaxe SQL : Drop table nom_table ; 6.Inserer pour chaque table au minimum deux lignes.

ISET GABES

Syntaxe SQL : INSERT INTO "nom de table" ("colonne 1", "colonne 2",..) VALUES ("valeur 1", "valeur 2", ...) ; Ou INSERT INTO "table1" ("column1", "column2",...) SELECT "column3", "column4"... FROM "table2"; Exemple: INSERT INTO Store_Information (store_name, Sales, Date) SELECT store_name, Sales, Date FROM Sales_Information WHERE Year(Date) = 1998; Linstruction entire peut facilement contenir les clauses WHERE, GROUP BY, et HAVING, ainsi que les jointures et alias de table. 7. Supprimer les donnes dune table tout en conservant la table. Syntaxe SQL : TRUNCATE TABLE "nom de table" ; 8. Mettre jour les tables. Syntaxe SQL : UPDATE "nom de table" SET colonne 1 = [valeur 1], colonne 2 = [valeur 2] WHERE {condition} ; 9. Supprimer des enregistrements dune table. Syntaxe SQL : DELETE FROM "nom de table" WHERE {condition}; 10. Utiliser les commandes SQL suivants :

Melle BEN ALI.S

Administration base de donnes

ISET GABES

Commandes SQL
DISTINCT

Dfinition
pour ne slectionner que des lments DISTINCT Les conditions combines se constituent de plusieurs conditions simples connectes par AND ou OR. permet de connatre exactement la valeur des valeurs retournes que nous souhaitons voir au moins pour lune des colonnes permet de slectionner un intervalle

Syntaxe SQL
SELECT DISTINCT "nom de colonne" FROM "nom de table" SELECT "nom de colonne" FROM "nom de table" WHERE "condition simples" {[AND|OR] "condition simples"} SELECT "nom de colonne" FROM "nom de table" WHERE "nom de colonne" IN ('valeur1', 'valeur2', ...)

Exemple

AND ou OR.

IN

BETWEEN

LIKE

permet deffectuer une recherche base plutt sur un modle quune spcification exacte

SELECT "nom de colonne" FROM "nom de table" WHERE "nom de colonne" BETWEEN 'valeur1' AND 'valeur2' SELECT "nom de colonne" FROM "nom de table" WHERE "nom de colonne" LIKE {modle}

%AN%' : toutes les chanes contenant le modle 'AN' quelle que soit sa position. Par exemple, 'LOS ANGELES' et 'SAN FRANCISCO' satisferaient la condition.

ORDER BY

Le classement peut se faire dans un ordre ascendant ou descendant

AVG , COUNT - MAX - MIN - SUM Alias

des fonctions arithmtiques

Alias de colonne et alias

SELECT "nom de colonne" FROM "nom de table" [WHERE "condition"] ORDER BY "nom de colonne1" [ASC, DESC] , "nom de colonne 2" [ASC, DESC] ; SELECT "nom de fonction"("nom de colonne") FROM "nom de table" SELECT "table

SELECT SUM(Sales) FROM Store_Information SELECT

Melle BEN ALI.S

Administration base de donnes


de table. alias"."nom de colonne 1" "colonne alias" FROM "nom de table" "table alias"

ISET GABES
A1.store_name Store,SUM(A1.Sales) "Total Sales" FROM Store_Information A1 GROUP BY A1.store_name SELECT A1.region_name REGION, SUM(A2.Sales) SALES FROM Geography A1,Store_Information A2 WHERE A1.store_name = A2.store_name GROUP BY A1.region_name

Jointure

Melle BEN ALI.S

You might also like