Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

sql2019.pdf Version 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 12

19/02/2019

Le langage SQL
 SQL est un langage de manipulation de
données qui est devenu un standard dans le
monde des bases de données.
 SQL simplifie la manipulation des tables en
autorisant la recherche d'informations et la
mise à jour des relations par l'intermédiaire de
requêtes:

Le langage SQL
 Une requête est une interrogation d’une
base de données afin:
 Créer des tables

 Extraire des données

 Mettre à jour des données

 Supprimer des données

1
19/02/2019

Création d’une table

 La commande CREATE TABLE permet de créer


une table dans la base de données courante.
 Sa syntaxe est la suivante :

CREATE TABLE nom_table


(champ type propriétés, .. );

Type(CREATE)
 Char(x) ou VARCHAR(x): chaîne de caractères, x est
le nombre maximum de caractères autorisés dans le
champ.
 Integer ou INT: Nombre entier, positif ou négatif
 Decimal (x,y) : Nombre décimal, x est le nombre
maximum de chiffres et y le nombre maximum de
chiffres après la virgule.
 Date : Une date
 Datetime: date avec l’heure
 Float
4

2
19/02/2019

Propriétés du champ :

 NULL ou NOT NULL : autorise ou non que le


champ puisse être vide.
 UNIQUE : indique que deux enregistrements ne
pourront avoir la même valeur dans ce champ.
 DEFAULT ‘valeur’: place une valeur par défaut
dans le champ
 PRIMARY KEY : indique que ce champ est la clé
primaire
 Foreign key :clé étrangère.

 Une clé étrangère fait référence à une clé primaire d’une


autre table, sa syntaxe est la suivante:
constraint nomContrainte foreign key( nomCléEtrangère)
references nomTable2(cléPrimaire)
 Exemple:

- Commande(num_cmd ,date_cmd,#num_clt)
- La requête de création de la table commande avec les
contraintes de clé primaire et étrangère est la suivante:
Create table commande( num_cmd int not null,date_cmd
date not null, num_clt int not null,primary key(num_cmd),
foreign key(num_clt) references client(num_clt));
Num_clt est une clé primaire de la table client

3
19/02/2019

Propriétés du champ(suite)

 CHECK (condition) : équivaut à la propriété


"ValideSi" d'Access, va forcer SQL à faire une
vérification de la condition avant de valider la saisie,
 Exemple : CHECK (prix > 100) interdira la saisie
dans ce champ si la valeur contenue dans le champ
prix est inférieure à 100.

Exemple

CREATE TABLE films (idFilm INT not null


AUTO_INCREMENT,
Titre VARCHAR (20) not null , Réalisateur VARCHAR
(20) not null , PRIMARY KEY (idFilm))

4
19/02/2019

Exercice
 Créer la nouvelle table "table_test" contenant deux
champs : un champ avec un entier qui doit toujours être
saisi et un champ contenant une chaîne de 5
caractères :
CREATE TABLE table_test (champ1 integer NOT
NULL, champ2 char(5));

La commande ALTER TABLE


 La commande ALTER TABLE permet de
modifier la structure d'une table, sa syntaxe
est la suivante :

ALTER TABLE nom_table


Action (spécifications du champ);

10

5
19/02/2019

La commande ALTER TABLE

 ALTER TABLE permet trois actions, ces actions sont:


 ADD Ajoute un champ à une table.
 DROP Supprime un champ d'une table.
 CHANGE( sous mysql)/MODIFY(Oracle) Modifie les
caractéristiques d'un champ.

11

La commande ALTER TABLE


 Après l'action, on indique, entre parenthèses, les

spécifications du champ de la même façon que pour

la commande CREATE TABLE.

12

6
19/02/2019

Exemple
- Ajout d'un champ Date :
ALTER TABLE table_test ADD champ3
Date;
- Suppression du champ2 :

ALTER TABLE table_test DROP champ2;

- Modification d’un champ2 :

ALTER TABLE table_test CHANGE champ2


champ2 char(3); 13

Clé étrangère :
Ajouter la contrainte de clé étrangère à une table
 Exemple:

alter table commande add constraint fk


foreign key(num_clt) references client(num_clt);
ou

alter table commande add foreign key(num_clt)


references client(num_clt);

7
19/02/2019

Supprimer une table


 La commande DROP TABLE permet de
supprimer une table, sa syntaxe est la
suivante :
 DROP TABLE nom_table ;
 La table nom_table est alors supprimée. La
définition de la table ainsi que son contenu
sont détruits, et l'espace occupé par la table
est libéré.

15

Renommer une table


 On a la possibilité de changer le nom d'une
table par la commande RENAME, la syntaxe
est la suivante :
 RENAME TABLE ancien_nom TO
nouveau_nom ;

16

8
19/02/2019

INSERT
 La commande INSERT est utilisée pour ajouter des
enregistrements ou des parties d'enregistrements
dans des tables.
 La syntaxe de la commande INSERT:
INSERT
INTO table (champ1,champ2,...)
VALUES ('valeur1','valeur2',...);
ou
INSERT
INTO table
VALUES ('valeur1','valeur2',...);
17

INSERT(Exemple)
 Si on veut ajouter un enregistrement dans la table
étudiant (id_etud,nom,prenom,age):
Le champ « Id_etud » s’incrémente automatiquement.
INSERT
INTO etudiant
VALUES ('','amrani','manal',22);
 Si on veut ajouter une partie d’enregistrement
(nom,prénom) dans la table étudiant:
INSERT
INTO etudiant (nom,prenom)
VALUES ('amrani','manal');
18

9
19/02/2019

UPDATE
 La commande UPDATE est utilisée pour changer
des valeurs dans des champs d'une table.
 Sa syntaxe est :

UPDATE nom_table
SET champ1 = nouvelle_valeur1,
champ2 = nouvelle_valeur2,
champ3 = nouvelle_valeur3
WHERE condition;

19

UPDATE(suite)
 La clause SET indique quels champs de la table

vont être mis à jour et avec quelles valeurs ils vont

l'être.

 Les champs non spécifiés après la clause SET ne

seront pas modifiés.

20

10
19/02/2019

UPDATE(Exemple)
 modifier le prix d'un produit dont le libellé est
« produit1 » :

UPDATE produits
SET prix_unitaire = 1000
WHERE libelle = 'produit1';

21

DELETE
 Pour supprimer des enregistrements d'une table,
on utilise la commande DELETE.
 La syntaxe est la suivante :

DELETE
FROM nom_table
WHERE condition;
 Remarque:
 On ne peut pas supprimer seulement le contenu de
quelques champs des enregistrements.
22

11
19/02/2019

DELETE

 Remarque:
La commande DELETE supprime des
enregistrements entiers, c'est pour cela qu'il n'est
pas nécessaire d'indiquer ici des noms de champs.

23

DELETE (Exemple)
 pour vider la table « Etudiant »:

DELETE
FROM etudiant;

24

12

Vous aimerez peut-être aussi