Création et suppression de tables en SQL
La création d'une table de base implique de nommer la table et de définir ses colonnes ainsi que le type de données de chaque colonne.
Deux instructions principales sont utilisées :
- CREATE TABLE : créer une nouvelle table
- DROP TABLE : supprimer une table existante
1. Création d'une table - CREATE TABLE
L'instruction CREATE TABLE permet de créer une nouvelle table dans la base de données.
Syntaxe
CREATE TABLE nom_table(
colonne1 type_donnees [contraintes],
colonne2 type_donnees [contraintes],
colonne3 type_donnees [contraintes],
...,
colonneN type_donnees [contraintes],
PRIMARY KEY (une ou plusieurs colonnes)
);CREATE TABLE est le mot clé qui indique au système de base de données ce que vous voulez faire. Dans ce cas, vous voulez créer une nouvelle table. Le nom unique de la table suit l'instruction CREATE TABLE.
Ensuite, entre parenthèses, on définit la liste des colonnes de la table avec leur type de données et éventuellement des contraintes.
Exemple de création
Exemple n°1
Créer une table Employes avec un ID comme clé primaire.
CREATE TABLE Employes(
Id INT NOT NULL,
Nom VARCHAR (20) NOT NULL,
Age INT NOT NULL,
Salaire DECIMAL (18, 2),
PRIMARY KEY (Id)
);Explication des éléments :
- Id INT NOT NULL : colonne de type entier, ne peut pas être NULL (obligatoire)
- Nom VARCHAR(20) NOT NULL : chaîne de 20 caractères maximum, obligatoire
- Age INT NOT NULL : entier, obligatoire
- Salaire DECIMAL(18,2) : nombre décimal avec 18 chiffres dont 2 après la virgule (optionnel)
- PRIMARY KEY (Id) : définit la colonne Id comme clé primaire (unique et non NULL)
Types de données courants
| Type | Description | Exemple |
|---|---|---|
| INT | Nombre entier | 25, -10, 1000 |
| VARCHAR(n) | Chaîne de caractères de longueur variable (max n) | 'Ismail', 'Paris' |
| CHAR(n) | Chaîne de caractères de longueur fixe n | 'OUI', 'NON' |
| DECIMAL(p,s) | Nombre décimal avec p chiffres, s après la virgule | 7500.00 |
| DATE | Date (AAAA-MM-JJ) | '2023-01-15' |
| DATETIME | Date et heure | '2023-01-15 14:30:00' |
| BOOLEAN | Valeur booléenne (TRUE/FALSE) | TRUE, FALSE |
Contraintes courantes
| Contrainte | Description |
|---|---|
| NOT NULL | La colonne ne peut pas contenir de valeur NULL |
| UNIQUE | Toutes les valeurs de la colonne doivent être différentes |
| PRIMARY KEY | Combinaison de NOT NULL et UNIQUE (identifiant unique) |
| FOREIGN KEY | Référence à une clé primaire d'une autre table |
| CHECK | Vérifie une condition sur les valeurs |
| DEFAULT | Valeur par défaut si aucune valeur n'est fournie |
Exemple avec contraintes supplémentaires
Exemple n°2
Créer une table Employes avec plusieurs contraintes.
CREATE TABLE Employes(
Id INT PRIMARY KEY,
Nom VARCHAR(50) NOT NULL,
Age INT CHECK (Age >= 18),
Salaire DECIMAL(10,2) DEFAULT 3000.00,
Email VARCHAR(100) UNIQUE
);2. Suppression d'une table - DROP TABLE
L'instruction DROP TABLE permet de supprimer une définition de table ainsi que toutes les données, index, déclencheurs, contraintes et spécifications de permission de cette table.
Vous devez être très prudent lorsque vous utilisez cette commande car une fois la table supprimée, toutes les informations disponibles dans cette table seront également définitivement perdues.
Syntaxe
DROP TABLE nom_table;Exemple n°3
Supprimer la table Employes.
DROP TABLE Employes;Après l'exécution de cette commande, la table Employes n'existe plus et toutes ses données sont perdues.
Suppression conditionnelle (MySQL)
Pour éviter une erreur si la table n'existe pas, on peut utiliser (en MySQL) :
DROP TABLE IF EXISTS Employes;Récapitulatif
| Commande | Action | Risque |
|---|---|---|
| CREATE TABLE | Crée une nouvelle table avec sa structure | La table ne doit pas déjà exister |
| DROP TABLE | Supprime une table et toutes ses données | Perte définitive des données |
Création et suppression de tables
Écrivez les requêtes SQL pour :
- Créer une table "Produits" avec les colonnes suivantes :
- Id_produit (entier, clé primaire)
- Nom (chaîne 100 caractères, non NULL)
- Prix (décimal 10,2)
- Quantite (entier, valeur par défaut 0)
- Categorie (chaîne 50 caractères)
- Créer une table "Clients" avec Id_client (clé primaire), Nom, Email (unique).
- Supprimer la table "Produits".
- Création de la table Produits :
CREATE TABLE Produits( Id_produit INT PRIMARY KEY, Nom VARCHAR(100) NOT NULL, Prix DECIMAL(10,2), Quantite INT DEFAULT 0, Categorie VARCHAR(50) ); - Création de la table Clients :
CREATE TABLE Clients( Id_client INT PRIMARY KEY, Nom VARCHAR(100) NOT NULL, Email VARCHAR(100) UNIQUE ); - Suppression de la table Produits :
DROP TABLE Produits;
- CREATE TABLE définit la structure d'une nouvelle table.
- Chaque colonne a un nom, un type de données et éventuellement des contraintes.
- La clé primaire (PRIMARY KEY) identifie de façon unique chaque ligne.
- NOT NULL empêche les valeurs nulles.
- UNIQUE garantit que toutes les valeurs sont différentes.
- DEFAULT fournit une valeur par défaut.
- CHECK valide les données selon une condition.
- DROP TABLE supprime définitivement une table et ses données (irréversible).
- Toujours vérifier avant de supprimer une table !
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.