Vous êtes sur la page 1sur 14

PRATIQUE SQL

CHAPITRE II. COMMANDES SQL ET SYNTAX


INTRODUCTION

Le langage de requête structuré (SQL), comme nous le savons tous, est le langage de base
de données à l'aide duquel nous pouvons effectuer certaines opérations sur la base de données
existante et nous pouvons également utiliser ce langage pour créer une base de données. SQL
utilise certaines commandes telles que Create, drop, Insert, etc. pour effectuer les tâches requises.

Ces commandes SQL sont principalement classées en quatre catégories :

1. DDL – Data Definition Language


2. DQl – Data Query Language
3. DML – Data Manipulation Language
4. DCL – Langage de contrôle des données

2.1. Langage de définition de données (DDL)

Ces commandes SQL sont utilisées pour créer, modifier et supprimer la structure de base
de données comme une table, une vue, une procédure, des index, etc.
Commandes DDL :
 CREATE– est utilisé pour créer la base de données ou ses objets (comme une table,
l'index, une fonction, les vues, la procédure de stockage et les triggers).

La syntaxe de base pour crée une base de donnée est la suivante

CREATE DATABSE nombase ;

Le nom de la base de données doit toujours être unique dans le SGBDR.

Vous pouvez vérifier la base de données créé par la requête suivante :

SHOW DATABASES ;

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 1


Practitioner
PRATIQUE SQL

La syntaxe de base pour cree une table est la suivante

CREATE TABLE nomTable(

colonne1 type et contrainte,

colonne2 type et contrainte,

colonneN type et contrainte

);

Les paramètres colonne spécifient les noms des colonnes de la table. Le paramètre type
spécifie le type de données que la colonne peut contenir (par exemple varchar, int, date,
etc.).

Exemple:

Ici, nous allons créer une table nommée « étudiant » dans la base de données « clients ».

CREATE TABLE Etudiant(

Id_etudiant INT NOT NULL AUTO_INCREMENT,

nom VARCHAR(100) NOT NULL,

prenom VARCHAR (100) NOT NULL,

PRIMARY KEY ( id_etudiant )

);

Noter:

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 2


Practitioner
PRATIQUE SQL

1. Ici, NOT NULL est une contrainte de champ et il est utilisé car nous ne voulons pas que
ce champ soit NULL. Si vous essayez de créer un enregistrement avec une valeur NULL,
MySQL générera une erreur.

2. L'attribut de champ AUTO_INCREMENT spécifie à MySQL d'aller de l'avant et


d'ajouter le prochain numéro disponible au champ id_etudiant. PRIMARY KEY est
utilisé pour définir une colonne comme clé primaire. Vous pouvez utiliser plusieurs
colonnes séparées par des virgules pour définir une clé primaire.

Utilisez la commande suivante pour afficher une description la table :

DESCRIBE Etudiant ;

Utilisez la commande suivante pour voir les tables déjà créée :

SHOW TABLES ;

 DROP– est utilisé pour supprimer des objets de la base de données.

La syntaxe de base de l'instruction DROP DATABASE est donnée ci-dessous

DROP DATABASE nombase ;

L'instruction SQL DROP TABLE est utilisée pour supprimer une définition de table et toutes les
données, index, contraintes et spécifications d'autorisation pour cette table.

REMARQUE-C'est très important de savoir qu'une fois qu'une table est supprimée, toutes les
informations disponibles dans la table sont perdues à jamais, nous devons donc être très prudents
lors de l'utilisation de cette commande.

La syntaxe de base de cette instruction DROP TABLE est la suivante

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 3


Practitioner
PRATIQUE SQL

DROP TABLE nomTable;

 ALTER-est utilisé pour modifier la structure de la base de données.

L'instruction ALTER est utilisée lorsque vous souhaitez modifier le nom de votre table
ou de tout champ de table. Il est également utilisé pour ajouter ou supprimer une colonne
existante dans une table.

L'instruction ALTER est toujours utilisée avec les commandes "ADD", "DROP" et
"MODIFY" selon la situation.

1) Ajouter une colonne a une table (ADD)

Syntaxe:

ALTER TABLE nomtable

ADD nom_nouvelle_colonne definition

[ FIRST | AFTER nomcolonne ];

Paramètres

nomtable: Il spécifie le nom de la table que vous souhaitez modifier.

nom_nouvelle_colonne :Il spécifie le nom de la nouvelle colonne que vous souhaitez ajouter
à la table.

définition :Il spécifie le type de données et la définition de la colonne (NULL ou NOT


NULL, etc.).

PREMIER | APRÈS nomcolonne : C'est facultatif. Il indique à MySQL où dans la table


créer la colonne. Si ce paramètre n'est pas spécifié, la nouvelle colonne sera ajoutée à la fin
du tableau.

Exemple:

Dans cet exemple, nous ajoutons une nouvelle colonne "age" dans la table existante
"etudiant".

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 4


Practitioner
PRATIQUE SQL

Utilisez la requête suivante pour ce faire :

ALTER TABLE Etudiant

ADD age int NOT NULL ;

2) Ajouter plusieurs colonnes dans une table

Syntaxe:

ALTER TABLE nomtable

ADD nom_nouvelle_colonne1 definition

[ FIRST | AFTER nomcolonne ],

ADD nom_nouvelle_colonne2 definition

[ FIRST | AFTER nomcolonne ],

...

Exemple:

Dans cet exemple, nous ajoutons deux nouvelles colonnes «address » et salaire dans la table
Etudiant. address est ajouté après la colonne nom et salaire est ajouté après la colonne age.

Utilisez la requête suivante pour ce faire :

ALTER TABLE Etudiant

ADD address varchar (100) NOT NULL

AFTER nom,

ADD salaire int NOT NULL

AFTER age;

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 5


Practitioner
PRATIQUE SQL

3) Modifier les colonnes d’une table

La commande MODIFY permet de modifier la définition de colonne de la table.

Syntaxe:

ALTER TABLE nomtable

MODIFY nom_colonne définition_colonne

[ FIRST | AFTER colonne ];

Exemple:

Dans cet exemple, nous modifions la colonne nom pour qu'elle soit le type de données
varchar(50) et forçons la colonne à autoriser les valeurs NULL.

Utilisez la requête suivante pour ce faire :

ALTER TABLE élève

MODIFY nom varchar(50) NULL ;

4) Supprimer les colonnes d’une table

Syntaxe:

ALTER TABLE nomtable

DROP COLUMN nom_colonne ;

Prenons un exemple pour supprimer la colonne "address " de la table " Etudiant ".

Utilisez la requête suivante pour ce faire :

ALTER TABLE Etudiant

DROP COLUMN address;

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 6


Practitioner
PRATIQUE SQL

5) Changer le nom d’un colonne d’une table

Syntaxe:

ALTER TABLE nomtable

CHANGE COLUMN ancien_nom nouveau_nom

définition_colonne

[ FIRST | AFTER colonne ]

Exemple:

Dans cet exemple, nous allons changer le nom de la colonne " nom " en " nom_etudiant ".

Utilisez la requête suivante pour ce faire :

ALTER TABLE Etudiant

CHANGE COLUMN nom nom_etudiant

varchar(20) NOT NULL ;

6) RENOMMER une table

Syntaxe:

ALTER TABLE nomtable

RENAME TO nouvelle_nom ;

Exemple:

Dans cet exemple, le nom de la table Etudiant est renommé en table_etudiant.

ALTER TABLE Etudiant

RENAME TO table_etudiant ;

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 7


Practitioner
PRATIQUE SQL

 TRUNCATE–est utilisé pour supprimer tous les enregistrements d'une table, y compris
tous les espaces alloués aux enregistrements.
L'instruction TRUNCATE supprime les données complètes sans supprimer leur structure.

L'instruction TRUNCATE TABLE est utilisée lorsque vous souhaitez supprimer les données
complètes d'une table sans supprimer la structure de la table.

Syntaxe:

TRUNCATE TABLE nomtable ;

Exemple:

Cet exemple spécifie comment supprimer tout les donnee d’une table. Dans cet exemple, on
supprime tout les donnee de la table « Etudiant ».

TRUNCATE TABLE Etudiant;

TRUNCATE TABLE vs DROP TABLE

Vous pouvez également utiliser la commande DROP TABLE pour supprimer la table complète,
mais cela supprimera les données complètes de la table et la structure à la fois. Vous devez
recréer la table si vous devez stocker des données. Mais dans le cas de TRUNCATE TABLE, il
supprime uniquement les données de la table et non la structure. Vous n'avez pas besoin de
recréer la table à nouveau car la structure de la table existe déjà.

 COMMENT–est utilisé pour ajouter des commentaires au dictionnaire de données.

 RENAME–est utilisé pour renommer un objet existant dans la base de données.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 8


Practitioner
PRATIQUE SQL

2.2. Langage de requête de données (DQL)

Ces commandes SQL sont utilisées pour extraire des données des tables de base de
données.
Commande DQL :
 SELECT– est utilisé pour récupérer des données d'une base de données.

L'instruction SELECT est utilisée pour interroger / récupérer les données d'une table de base
de données qui renvoie ces données sous la forme d'une table de résultats. Ces table de
résultats sont appelés ensembles de résultats.

Syntaxe

SELECT colonne1, colonne2, colonne3, colonneN FROM nomtable ;

Ici, colonne1, colonne2, colonne3... sont les champs d'une table dont vous souhaitez
interroger les valeurs. Si vous souhaitez interroger tous les champs disponibles dans le
champ, vous pouvez utiliser la syntaxe suivante.

SELECT * FROM nomtable;

2.3. Langage de manipulation des données (DML)


1. Ces commandes SQL sont utilisées pour stocker, modifier et supprimer des données des
tables de base de données.
Commandes DML :
INSERT– est utilisé pour insérer des données dans une table.
L'instruction INSERT est utilisée pour insérer des données dans la table MySQL au sein
de la base de données. Nous pouvons insérer un ou plusieurs enregistrements en utilisant une
seule requête dans MySQL.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 9


Practitioner
PRATIQUE SQL

Syntaxe:

La commande SQL INSERT INTO est utilisée pour insérer des données dans la table MySQL.
Voici une syntaxe générique :

INSERT INTO nomtable ( champ1, champ2,...champN )

VALUES

( valeur1, valeur2,...,valeurN );

Le nom du champ est facultatif. Si vous souhaitez spécifier des valeurs partielles, le nom du
champ est obligatoire.

Syntaxe pour tous les champs :

INSERT INTO nomtable VALUES( valeur1, valeur2,...valeurN );

MySQL INSERT Exemple 1 : pour tous les champs

Si vous devez stocker toutes les valeurs de champ, spécifiez tous les noms de champ ou ne
spécifiez aucun champ.

Exemple:

INSERT INTO VALUES étudiantes (7, 'henry', 22);

Ou,

INSERT INTO Etudiant(id,name, age) VALUES (7, 'henry', 22);

MySQL INSERT Exemple 2 : pour les champs partiels

Dans ce cas, il est obligatoire de spécifier des noms de champs.

INSERT INTO Etudiant (id,name) VALUES (7, 'henry');

MySQL INSERT Exemple 3 : insertion de plusieurs enregistrements

Ici, nous allons insérer un enregistrement dans la table "Etudiant" de la base de données "iai".

INSERT INTO Etudiant

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 10


Practitioner
PRATIQUE SQL

(id_etudisnt, nom, prenom)

VALEURS

(5, 'atangana', 'steve'),

(6, 'jingum', 'audrey'),

(7, 'isatou', 'fatima');

 UPDATE– est utilisé pour mettre à jour les données existantes dans une table.

L'instruction UPDATE est utilisée pour mettre à jour les données de la table MySQL dans la
base de données. Il est utilisé lorsque vous devez modifier les donnee de la table.

Syntaxe:

Voici une syntaxe générique de la commande UPDATE pour modifier les données dans la table
MySQL :

UPDATE nomtable SET champ1=new_value1, champ2=new_value2

[WHERE Clause]

Noter:

o Un ou plusieurs champs peuvent être mis à jour complètement.

o Toute condition peut être spécifiée à l'aide de la clause WHERE.

o Vous pouvez mettre à jour les valeurs dans une seule table à la fois.

o La clause WHERE est utilisée pour mettre à jour les lignes sélectionnées dans une table.

Exemple:

Ici, nous avons une table « Etudiantt » au sein de la base de données « iai ». Nous allons mettre à
jour les données au sein de la table « Etudiant ».

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 11


Practitioner
PRATIQUE SQL

Cette requête mettra à jour le champ nom pour un enregistrement ayant id_etudiant comme 5.

UPDATE Etudiant

SET nom = 'robert'

WHERE id_etudiant = 5 ;

 DELETE– est utilisé pour supprimer des enregistrements d'une table de base de données.

L'instruction DELETE est utilisée pour supprimer les données de la table MySQL dans la base
de données. En utilisant l'instruction delete, nous pouvons supprimer des enregistrements sur la
base de conditions.

Syntaxe:

DELETE FROM nomtable

WHERE

(condition) ;

Exemple:

DELETE FROM Etudiant

WHERE id_étudiant = 6 ;

2.4. Langage de transaction de données (TCL)

Ces commandes SQL sont utilisées pour gérer les modifications qui affectent les données de la
base de données. Fondamentalement, nous utilisons ces commandes dans la transaction ou pour
créer un point stable lors des modifications de la base de données auquel nous pouvons annuler
l'état de la base de données si nécessaire.
Commandes TCL :

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 12


Practitioner
PRATIQUE SQL

a. COMMIT– valide une Transaction.

b. ROLLBACK– annule une transaction en cas d'erreur.

c. SAVEPOINT–définit un point de sauvegarde dans une transaction.

d. SET TRANSACTION–spécifiez les caractéristiques de la transaction.

2.5. Langage de contrôle des données (DCL)


Ces commandes SQL sont utilisées pour implémenter la sécurité sur des objets de base de
données comme une table, une vue, une procédure stockée, etc.
Exemples de commandes DCL :
e. GRANT-Cette commande est utilisée pour donner l'autorisation à des
utilisateurs spécifiques sur des objets de base de données spécifiques
comme une table, une vue, etc.
GRANT type_de_permission ON nomdb.nomtable TO 'utilisateur'@'localhost' ;

f. REVOKE-Cette commande est utilisée pour retirer l'autorisation


d'utilisateurs spécifiques sur des objets de base de données spécifiques
comme une table, une vue, etc.
REVOKE type_de_permission ON nomdb.nomtable FROM 'utilisateur'@'localhost' ;

Vous pouvez consulter les autorisations actuelles d'un utilisateur en exécutant la


commande suivante :

SHOW GRANTS FOR 'utlisateur'@'localhost' ;

Voici quelques exemples:

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 13


Practitioner
PRATIQUE SQL

 Accordez tous les privilèges à un compte utilisateur sur une base de données
spécifique :
GRANT ALL PRIVILEGES ON databasename.* TO 'user'@'host';
 Accorder tous les privilèges à un compte utilisateur sur toutes les bases de
données
GRANT ALL PRIVILEGES *.* À 'user'@'host' ;
 Accordez tous les privilèges à un compte utilisateur sur une table spécifique d'une
base de données :
GRANT ALL PRIVILEGES ON nomdb.nomtable TO 'utilisateur'@'hôte' ;
 Accordez tous les privilèges à un compte utilisateur sur une base de données
spécifique :
GRANT SELECT, INSERT, DELETE ON databasename.* TO 'user'@'host';

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 14


Practitioner

Vous aimerez peut-être aussi