0% ont trouvé ce document utile (0 vote)
68 vues44 pages

Cours LDD

Transféré par

ffeeddii21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
68 vues44 pages

Cours LDD

Transféré par

ffeeddii21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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;

Vous aimerez peut-être aussi