Académique Documents
Professionnel Documents
Culture Documents
SQL Id1
SQL Id1
Langage SQL
Syntaxe:
Exercice: Soit la relation Etudiant (CIN, Nom, Prénom, Age, Adresse, Tel)
1.Afficher tous les enregistrements de la relation Etudiant.
2.Afficher les noms, les prénoms et âges de tous les étudiants.
3.Afficher les CIN des étudiants dans une colonne nommée Code
Ordre Select(Selection)
Syntaxe:
SELECT liste_attributs FROM table WHERE condition(s);
▪ Une condition est une expression composée d’opérateurs
(arithmétiques, logiques, …) et d’opérandes (constantes ou attributs).
Exemple:
SELECT * FROM etudiant WHERE nom=‘mohamed’;
Ordre Select(Jointures de tables)
❖Objectif
▪ Afficher des données issues de plusieurs tables. Utiliser une condition appelée
jointure.
▪ Une condition de jointure spécifie une relation existante entre les données d'une
colonne dans une table avec les données d'une autre colonne dans une autre
table.
▪ Cette relation est souvent établie entre des colonnes définies comme clé primaire
et clé étrangère.
Syntaxe:
SELECT * FROM table1 [Alias1 ], ..., tablen [Aliasn ],
Ordre Select(Jointures de tables)
Langage SQL
SQL langage de définition de données
Avant d’aborder la création des tables avec les commandes SQL, voici un petit
lexique entre le modèle relationnel et SQL
Quelques règles d’écritures en SQL :
Un nom d’objet (table, base, colonne contrainte, vue, etc…) doit avoir les
caractéristiques suivantes :
- Ne pas dépasser 128 caractères
- Commencer par une lettre
- Etre composé de lettre, de chiffre, du caractère ‘_’
- Ne pas être un mot réservé en SQL
- Pas de caractères accentués
Conseils généraux sur la programmation
SQL :
Syntaxe:
CREATE TABLE nom_table ( Nom_colonne type , Nom_colonne type ,
Contrainte ,…);
Il faut spécifier:
▪ Nom de la table
▪ Nom de la colonne, son type de données, sa taille, …
• Où Contrainte représente la liste des contraintes d'intégrité structurelles
concernant les colonnes de la table crée.
Exercice
Ecrire la requête qui crée une table nommée EMP avec les champs
suivants ( id_emp, nom, prenom, tel, email, fonction, salaire,
commission, id_manager, id_dep, date_embauche)
CREATE TABLE EMP (
id_emp NUMBER(6),
nom VARCHAR2(50),
prenom VARCHAR2(50),
tel VARCHAR2(20),
email VARCHAR2(50),
fonction VARCHAR2(50),
salaire NUMBER(8,2),
commission NUMBER(5,2),
id_manager NUMBER(6),
id_dep NUMBER(6),
date_embauche DATE DEFAULT SYSDATE);
Types de contraintes
Types de contraintes:
– DEFAULT
– NOT NULL
– UNIQUE
– PRIMARY KEY
– FOREIGN KEY
– CHECK
Définir une valeur par défaut
Le langage SQL permet de définir une valeur par défaut lorsqu'un champ de la base
n'est pas renseigné grâce à la clause DEFAULT. Cela permet notamment de faciliter
la création de tables, ainsi que de garantir qu'un champ ne sera pas vide.
La clause DEFAULT doit être suivie par la valeur à affecter. Cette valeur peut être
un des types suivants :
Constante numérique
Constante alphanumérique (chaîne de caractères)
Le mot clé USER (nom de l'utilisateur)
Le mot clé NULL
Le mot clé CURRENT_DATE (date de saisie)
Le mot clé CURRENT_TIME (heure de saisie)
Le mot clé CURRENT_TIMESTAMP (date et heure de saisie)
Forcer la saisie d'un champ
Le mot clé NOT NULL permet de spécifier qu'un champ doit être saisi,
c'est-à-dire que le SGBD refusera d'insérer des tuples dont un champ
comportant la clause NOT NULL n'est pas renseigné.
Emettre une condition sur un champ
Pour nommer les contraintes, il est d’usage de suivre la norme indiquée ci-dessous ;
dans une même base de données on ne peut pas avoir deux contraintes qui portent
le même nom. Les abréviations les plus fréquemment utilisées pour chaque type de
contraintes sont :
▪ PK Intégrité d’entité (Primary Key : clé primaire)
▪ CK Intégrité de domaine (ChecK : contrôle)
▪ FK Intégrité référentielle (Foreign Key : clé étrangère)
PK_Client est le nom associé à la contrainte de clé primaire de la table client.
Nommer une contrainte
▪ On peut également insérer dans une table, le résultat d’une requête SELECT,
auquel cas plusieurs lignes peuvent être insérer à la fois.
Syntaxe:
INSERT INTO nom_de_table (colonne, …) SELECT…
Exemple :
INSERT INTO clients (num_client, nom_client, prenom_client) VALUES (10,
‘morabit’,’ ahmed’) ;