Professional Documents
Culture Documents
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.
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) ;
-
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.
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 :
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
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
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