LANGUAGE SQL
« LDD »
Enseignante: jlassi chayma
PLAN
Base de données
Tables
Base de données
Créer une base de L'instruction CREATE DATABASE est
données utilisée pour créer une nouvelle base
de données SQL.
Syntaxe:
CREATE DATABASE databasename;
Affichage:
On va créer une base de données qui
s’appelle darty:
CREATE DATABASE darty;
Supprimer une base de L'instruction DROP DATABASE est
données utilisée pour supprimer une base de
données SQL existante.
Syntaxe:
DROP DATABASE databasename;
Affichage:
On va supprimer la base de données qui
s’appelle darty:
DROP DATABASE darty;
Tables
L' instruction CREATE TABLE est utilisée
pour créer une nouvelle table dans une
base de données.
Créer un table Syntaxe:
CREATE TABLE table_name
( column1 datatype,
column2 datatype,
column3 datatype,
....
);
Les paramètres de colonne spécifient les
noms des colonnes de la table.
Le paramètre datatype spécifie le type de
données que la colonne peut contenir (par
exemple varchar, entier, date, etc.).
Créer un table qui s’appelle Persons
Affichage:
CREATE TABLE Persons
( PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
• La colonne PersonID est de type int et
contiendra un entier.
• Les colonnes LastName, FirstName,
Address et City sont de type varchar et
contiendront des caractères, et la longueur La table vide "Persons" peut maintenant
maximale de ces champs est de 255 être remplie avec des données avec
caractères. l'instruction SQL INSERT INTO.
L' instruction TRUNCATE TABLE est utilisée
Supprimer le contenu
pour supprimer les données à l'intérieur
d’un table
d'une table, mais pas la table elle-même.
Syntaxe:
TRUNCATE TABLE table_name;
L' instruction DROP TABLE est utilisée pour
supprimer une table existante dans une base
de données.
Supprimer un table
Syntaxe:
DROP TABLE table_name;
Remarque : Soyez prudent avant de faire
tomber une table. La suppression d'un
tableau entraînera la perte de toutes les
informations stockées dans le tableau !
Supprimer le contenu de la table Persons Affichage:
TRUNCATE TABLE Persons;
Supprimer la table Persons
DROP TABLE Persons;
L'instruction ALTER TABLE est utilisée pour
L’instruction SQL ALTER ajouter, supprimer ou modifier des colonnes
TABLE dans une table existante.
L'instruction ALTER TABLE est également
utilisée pour ajouter et supprimer diverses
contraintes sur une table existante.
SQL ALTER TABLE syntaxe et exemples
Base de données de démonstration:
Vous trouverez ci-dessous une sélection de la table "Persons":
Exemple:
Nous voulons maintenant ajouter une
colonne nommée "DateOfBirth" dans
la table "Persons".
ALTER TABLE - AJOUTER une colonne
• Pour ajouter une colonne dans une Nous utilisons la requête SQL suivante :
table, utilisez la syntaxe suivante :
ALTER TABLE Persons
ALTER TABLE table_name ADD DateOfBirth date;
ADD column_name datatype;
Exemple:
Nous voulons maintenant changer le
type de données de la colonne nommée
"DateOfBirth" dans la table "Persons".
ALTER TABLE - MODIFIER une colonne
Nous utilisons la requête SQL suivante :
• Pour modifier le type de données d'une
colonne dans une table, utilisez la syntaxe ALTER TABLE Persons
suivante : MODIFY COLUMN DateOfBirth year;
ALTER TABLE table_name Notez que la colonne "DateOfBirth" est
MODIFY COLUMN column_name datatype;
maintenant de type année et va contenir
une année dans un format à deux ou
quatre chiffres.
Exemple:
Nous voulons supprimer la colonne nommée
ALTER TABLE - SUPPRIMER une colonne
"DateOfBirth" dans la table "Persons".
• Pour supprimer une colonne dans
une table, utilisez la syntaxe Nous utilisons la requête SQL suivante :
suivante:
ALTER TABLE Persons
DROP COLUMN DateOfBirth;
ALTER TABLE table_name
DROP COLUMN column_name;
Contraintes SQL
Les contraintes peuvent être spécifiées lors de la création de la table avec l'instruction CREATE
TABLE ou après la création de la table avec l'instruction ALTER TABLE.
Syntaxe:
CREATE TABLE table_name
( column1 datatype
constraint, column2 datatype
constraint, column3 datatype
constraint,
....
);
Les contraintes SQL sont utilisées pour spécifier des règles pour les données d'une table.
Les contraintes sont utilisées pour limiter le type de données pouvant entrer dans une table. Cela garantit
l'exactitude et la fiabilité des données du tableau. En cas de violation entre la contrainte et l'action de
données, l'action est abandonnée.
Les contraintes peuvent être au niveau de la colonne ou au niveau de la table. Les contraintes au niveau de
la colonne s'appliquent à une colonne et les contraintes au niveau du tableau s'appliquent à l'ensemble du
tableau.
Les contraintes suivantes sont couramment utilisées en SQL :
NOT NULL : Garantit qu'une colonne ne peut pas avoir une valeur NULL
UNIQUE : Garantit que toutes les valeurs d'une colonne sont différentes
PRIMARY KEY : Une combinaison de NOT NULL et UNIQUE. Identifie de manière unique chaque ligne d'un
tableau
FOREIGN KEY : Empêche les actions qui détruiraient les liens entre les tables
CHECK : Garantit que les valeurs d'une colonne satisfont à une condition spécifique
DEFAULT : Définit une valeur par défaut pour une colonne si aucune valeur n'est spécifiée
Contrainte SQL NOT NULL
• Par défaut, une colonne peut contenir des valeurs
NULL.
La contrainte NOT NULL force une colonne à ne PAS
accepter les valeurs NULL.
Cela oblige un champ à toujours contenir une
valeur, ce qui signifie que vous ne pouvez pas insérer
un nouvel enregistrement ou mettre à jour un
enregistrement sans ajouter une valeur à ce champ.
NOT NULL sur CREATE TABLE
La requête SQL suivante garantit que les colonnes "ID", "LastName" et "FirstName"
n'accepteront PAS les valeurs NULL lors de la création de la table "Persons" :
NOT NULL sur ALTER TABLE
Pour créer une contrainte NOT NULL sur la colonne "Age" alors que la table "Persons"
est déjà créée, utilisez le SQL suivant :
ALTER TABLE Persons
MODIFY COLUMN Age int NOT NULL;
Contrainte SQL UNIQUE
• La contrainte UNIQUE garantit que toutes les
valeurs d'une colonne sont différentes.
• Les contraintes UNIQUE et PRIMARY KEY
garantissent l'unicité d'une colonne ou d'un
ensemble de colonnes.
• Une PRIMARY KEY contrainte a automatiquement
une contrainte UNIQUE.
• Cependant, vous pouvez avoir plusieurs
contraintes UNIQUE par table, mais une seule
contrainte PRIMARY KEY par table.
UNIQUE sur CREATE TABLE
La requête SQL suivante crée une contrainte UNIQUE sur la colonne "ID" lors de la création
de la table "Persons" :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
UNIQUE sur CREATE TABLE
Pour nommer une contrainte UNIQUE et définir une contrainte UNIQUE sur plusieurs
colonnes, utilisez la syntaxe SQL suivante :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID, LastName)
);
Contrainte SQL PRIMARY KEY
• La contrainte PRIMARY KEY identifie de manière
unique chaque enregistrement dans une table.
• Les clés primaires doivent contenir des valeurs
UNIQUE et ne peuvent pas contenir de valeurs
NULL.
• Une table ne peut avoir qu‘une seule clé primaire.
PRIMARY KEY sur CREATE TABLE
La requête SQL suivante crée une contrainte PRIMARY KEY sur la colonne "ID" lors de la
création de la table "Persons" :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
PRIMARY KEY sur CREATE TABLE
Pour autoriser la dénomination d'une contrainte PRIMARY KEY et pour définir une contrainte
PRIMARY KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID, LastName)
);
Remarque : Dans l'exemple ci-dessus, il n'y en a qu’un seul PRIMARY KEY (PK_Person). Cependant,
la VALEUR de la clé primaire est composée de DEUX COLONNES (ID + LastName).
Contrainte SQL FOREIGN KEY
• La contrainte FOREIGN KEY est utilisée pour
empêcher les actions qui détruiraient les liens
entre les tables.
• La FOREIGN KEY est un champ (ou une collection
de champs) dans une table, qui fait référence à
PRIMARY KEY dans une autre table. La table avec
la clé étrangère est appelée la table enfant et la
table avec la clé primaire est appelée la table
référencée ou parente.
FOREIGN KEY sur CREATE TABLE
Persons
Orders
FOREIGN KEY sur CREATE TABLE
• Notez que la colonne "PersonID" de la table " Orders " pointe vers la colonne "PersonID" de
la table "Persons".
• La colonne "PersonID" dans la table "Persons" est la PRIMARY KEY dans la table "Persons".
• La colonne "PersonID" dans la table " Orders " est un FOREIGN KEY dans la table " Orders ".
• La contrainte FOREIGN KEY empêche l'insertion de données non valides dans la colonne de
clé étrangère, car il doit s'agir de l'une des valeurs contenues dans la table "Persons".
FOREIGN KEY sur CREATE TABLE
La requête SQL suivante crée un FOREIGN KEY sur la colonne "PersonID" lorsque la table
" Orders " est créée :
CREATE TABLE orders
( OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
FOREIGN KEY sur CREATE TABLE
Pour autoriser la dénomination d'une contrainte FOREIGN KEY et pour définir une contrainte
FOREIGN KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
FOREIGN KEY sur ALTER TABLE
Ajouter un clé étranger dans un table existant :
Pour créer une contrainte FOREIGN KEY sur la colonne "PersonID" alors que la table
"Order" est déjà créée, utilisez le SQL suivant :
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
FOREIGN KEY sur ALTER TABLE
Ajouter plusieurs clés étranger dans un table existant :
Pour autoriser la dénomination d'une contrainte FOREIGN KEY et pour définir une
contrainte FOREIGN KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
FOREIGN KEY sur ALTER TABLE
Supprimer une contrainte FOREIGN KEY
Pour supprimer une contrainte FOREIGN KEY, utilisez la requête SQL suivante :
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
Contrainte SQL CHECK
• La contrainte CHECK est utilisée pour limiter la
plage de valeurs qui peut être placée dans une
colonne.
• Si vous définissez une contrainte CHECK sur une
colonne, seules certaines valeurs seront
autorisées pour cette colonne.
• Si vous définissez une contrainte CHECK sur une
table, elle peut limiter les valeurs de certaines
colonnes en fonction des valeurs d'autres
colonnes de la ligne.
CHECK sur CREATE TABLE
La requête SQL suivante crée une contrainte CHECK sur la colonne "Age" lors de la création de la
table "Persons". La contrainte CHECK garantit que l'âge d'une personne doit être de 18 ans ou
plus :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
CHECK sur CREATE TABLE
Pour autoriser la dénomination d'une contrainte CHECK et pour définir une contrainte CHECK
sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
Contrainte SQL DEFAULT
• La contrainte DEFAULT est utilisée pour définir une
valeur par défaut pour une colonne.
• La valeur par défaut sera ajoutée à tous les
nouveaux enregistrements, si aucune autre valeur
n'est spécifiée.
DEFAULT sur CREATE TABLE
La requête SQL suivante définit une valeur par défaut pour la colonne "City" lors de la création
de la table "Persons" :
CREATE TABLE Persons
( ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT 'Sandnes'
);
DEFAULT sur ALTER TABLE
Pour créer une contrainte par défaut sur la colonne "Ville" alors que la table est déjà
créée, utilisez la requête SQL suivante :
ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';
Supprimer une contrainte DEFAULT
Pour supprimer une contrainte DEFAULT, utilisez le SQL suivant :
ALTER TABLE Persons
ALTER City DROP DEFAULT;