Introduction
Dans ce projet, vous allez apprendre à effectuer diverses opérations DDL (Data Definition Language) sur une base de données MySQL. Vous créerez une base de données, des tables, modifier les structures de table, supprimer des données, et supprimer des tables et des bases de données.
👀 Aperçu



🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment démarrer le service MySQL et accéder à la base de données en utilisant la commande
sudo - Comment créer une base de données avec un jeu de caractères spécifique
- Comment créer des tables avec différents types de données et des clés primaires
- Comment modifier les structures de table, par exemple en rendant les clés primaires auto-incrémentées
- Comment supprimer des données de tables en utilisant
DELETEetTRUNCATE - Comment supprimer des tables et des bases de données
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre les opérations DDL de base dans MySQL
- Créer et gérer des bases de données et des tables
- Modifier les structures de table pour répondre à vos besoins
- Supprimer efficacement des données de tables
- Supprimer des tables et des bases de données si nécessaire
Démarrer MySQL et accéder à la base de données
Dans cette étape, vous allez apprendre à démarrer le service MySQL et à accéder à la base de données en utilisant la commande sudo sans mot de passe.
- Démarrez le service MySQL en utilisant la commande suivante :
sudo service mysql start
- Accédez à la base de données MySQL en utilisant la commande
sudosans mot de passe :
sudo mysql
Maintenant, vous êtes prêt à passer à l'étape suivante.
Créer la base de données et les tables
Dans cette étape, vous allez apprendre à créer la base de données testddl avec le jeu de caractères spécifié comme utf8mb4, puis à créer les tables emp et dept dans la base de données.
- Créez la base de données
testddlavec le jeu de caractères spécifié commeutf8mb4:
CREATE DATABASE IF NOT EXISTS `testddl` DEFAULT CHARACTER SET utf8mb4;
- Utilisez la base de données
testddl:
USE `testddl`;
- Créez la table
empavec la structure suivante :
CREATE TABLE `emp` (
`eid` int(5) NOT NULL,
`ename` varchar(50),
`sal` DECIMAL,
`deptno` int(5),
PRIMARY KEY (`eid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- Créez la table
deptavec la structure suivante :
CREATE TABLE `dept` (
`did` int(5) NOT NULL,
`dname` varchar(50) DEFAULT NULL,
PRIMARY KEY (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Maintenant, vous avez créé la base de données testddl et les tables emp et dept. Passons à l'étape suivante.
Modifier les tables
Dans cette étape, vous allez apprendre à modifier les clés primaires des tables emp et dept pour qu'elles soient auto-incrémentées, en commençant par 10. Vous allez également modifier le type de données du champ sal dans la table emp en entier.
- Modifiez la clé primaire de la table
emppour qu'elle soit auto-incrémentée, en commençant par10:
ALTER TABLE `emp` AUTO_INCREMENT=10;
- Modifiez la clé primaire de la table
deptpour qu'elle soit auto-incrémentée, en commençant par10:
ALTER TABLE `dept` AUTO_INCREMENT=10;
- Modifiez le type de données du champ
saldans la tableempen entier :
ALTER TABLE `emp` MODIFY `sal` INT(5);
Maintenant, les clés primaires des tables emp et dept sont auto-incrémentées, en commençant par 10, et le type de données du champ sal dans la table emp est modifié en entier.
Supprimer des données des tables
Dans cette étape, vous allez apprendre à supprimer toutes les données des tables emp et dept.
- Supprimez toutes les données de la table
empen utilisant l'instructionDELETE:
DELETE FROM `emp`;
- Supprimez toutes les données de la table
depten utilisant l'instructionTRUNCATE:
TRUNCATE TABLE `dept`;
Maintenant, les tables emp et dept sont vides.
Supprimer la table et la base de données
Dans cette dernière étape, vous allez apprendre à supprimer la table emp et la base de données testddl.
- Supprimez la table
emp:
DROP TABLE `emp`;
- Supprimez la base de données
testddl:
DROP DATABASE `testddl`;
Vous pouvez vous référer à la sortie suivante :
MariaDB [(none)]> USE `testddl`;
Database changed
MariaDB [testddl]> CREATE TABLE `emp` (
-> `eid` int(5) NOT NULL,
-> `ename` varchar(50),
-> `sal` DECIMAL,
-> `deptno` int(5),
-> PRIMARY KEY (`eid`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.005 sec)
MariaDB [testddl]> CREATE TABLE `dept` (
-> `did` int(5) NOT NULL,
-> `dname` varchar(50) DEFAULT NULL,
-> PRIMARY KEY (`did`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.004 sec)
MariaDB [testddl]> desc emp;
+--------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| eid | int(5) | NO | PRI | NULL | |
| ename | varchar(50) | YES | | NULL | |
| sal | decimal(10,0) | YES | | NULL | |
| deptno | int(5) | YES | | NULL | |
+--------+---------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
MariaDB [testddl]> ALTER TABLE `emp` AUTO_INCREMENT=10;
Query OK, 0 rows affected (0.005 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testddl]> ALTER TABLE `dept` AUTO_INCREMENT=10;
Query OK, 0 rows affected (0.003 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testddl]> ALTER TABLE `emp` MODIFY `sal` INT(5);
Query OK, 0 rows affected (0.006 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [testddl]> desc emp;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| eid | int(5) | NO | PRI | NULL | |
| ename | varchar(50) | YES | | NULL | |
| sal | int(5) | YES | | NULL | |
| deptno | int(5) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
MariaDB [testddl]> DELETE FROM `emp`;
Query OK, 0 rows affected (0.000 sec)
MariaDB [testddl]> TRUNCATE TABLE `dept`;
Query OK, 0 rows affected (0.003 sec)
MariaDB [testddl]> show tables;
+-------------------+
| Tables_in_testddl |
+-------------------+
| dept |
| emp |
+-------------------+
2 rows in set (0.000 sec)
MariaDB [testddl]> DROP TABLE `emp`;
Query OK, 0 rows affected (0.002 sec)
MariaDB [testddl]> show tables;
+-------------------+
| Tables_in_testddl |
+-------------------+
| dept |
+-------------------+
1 row in set (0.000 sec)
MariaDB [testddl]> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testddl |
+--------------------+
5 rows in set (0.000 sec)
MariaDB [testddl]> DROP DATABASE `testddl`;
Query OK, 1 row affected (0.004 sec)
MariaDB [(none)]> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.000 sec)
Félicitations! Vous avez terminé le Défi de la programmation de langage de définition de données (DDL). Vous avez appris à créer une base de données, créer des tables, modifier les structures de table, supprimer des données des tables et supprimer des tables et des bases de données. ********
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.



