Introducción
En este proyecto, aprenderás a realizar diversas operaciones de LDD (Lenguaje de Definición de Datos) en una base de datos MySQL. Crearás una base de datos, tablas, modificarás las estructuras de las tablas, eliminarás datos y eliminarán tablas y bases de datos.
👀 Vista previa



🎯 Tareas
En este proyecto, aprenderás:
- Cómo iniciar el servicio de MySQL y acceder a la base de datos utilizando el comando
sudo - Cómo crear una base de datos con un conjunto de caracteres específico
- Cómo crear tablas con varios tipos de datos y claves primarias
- Cómo modificar las estructuras de las tablas, como hacer que las claves primarias se incrementen automáticamente
- Cómo eliminar datos de las tablas utilizando
DELETEyTRUNCATE - Cómo eliminar tablas y bases de datos
🏆 Logros
Después de completar este proyecto, podrás:
- Comprender las operaciones básicas de LDD en MySQL
- Crear y administrar bases de datos y tablas
- Modificar las estructuras de las tablas para adaptarlas a tus necesidades
- Eliminar eficientemente datos de las tablas
- Eliminar tablas y bases de datos cuando sea necesario
Iniciar MySQL y acceder a la base de datos
En este paso, aprenderás a iniciar el servicio de MySQL y acceder a la base de datos utilizando el comando sudo sin ninguna contraseña.
- Inicia el servicio de MySQL utilizando el siguiente comando:
sudo service mysql start
- Accede a la base de datos MySQL utilizando el comando
sudosin ninguna contraseña:
sudo mysql
Ahora estás listo para pasar al siguiente paso.
Crear la base de datos y las tablas
En este paso, aprenderás a crear la base de datos testddl con el conjunto de caracteres especificado como utf8mb4, y luego crear las tablas emp y dept dentro de la base de datos.
- Crea la base de datos
testddlcon el conjunto de caracteres especificado comoutf8mb4:
CREATE DATABASE IF NOT EXISTS `testddl` DEFAULT CHARACTER SET utf8mb4;
- Utiliza la base de datos
testddl:
USE `testddl`;
- Crea la tabla
empcon la siguiente estructura:
CREATE TABLE `emp` (
`eid` int(5) NOT NULL,
`ename` varchar(50),
`sal` DECIMAL,
`deptno` int(5),
PRIMARY KEY (`eid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- Crea la tabla
deptcon la siguiente estructura:
CREATE TABLE `dept` (
`did` int(5) NOT NULL,
`dname` varchar(50) DEFAULT NULL,
PRIMARY KEY (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Ahora has creado la base de datos testddl y las tablas emp y dept. Pasemos al siguiente paso.
Modificar las tablas
En este paso, aprenderás a modificar las claves primarias de las tablas emp y dept para que sean autoincrementales, comenzando en 10. También modificarás el tipo de datos del campo sal en la tabla emp a entero.
- Modifica la clave primaria de la tabla
emppara que sea autoincremental, comenzando en10:
ALTER TABLE `emp` AUTO_INCREMENT=10;
- Modifica la clave primaria de la tabla
deptpara que sea autoincremental, comenzando en10:
ALTER TABLE `dept` AUTO_INCREMENT=10;
- Modifica el tipo de datos del campo
salen la tablaempa entero:
ALTER TABLE `emp` MODIFY `sal` INT(5);
Ahora las claves primarias de las tablas emp y dept son autoincrementales, comenzando en 10, y el tipo de datos del campo sal en la tabla emp se ha modificado a entero.
Eliminar datos de las tablas
En este paso, aprenderás a eliminar todos los datos de las tablas emp y dept.
- Elimina todos los datos de la tabla
emputilizando la instrucciónDELETE:
DELETE FROM `emp`;
- Elimina todos los datos de la tabla
deptutilizando la instrucciónTRUNCATE:
TRUNCATE TABLE `dept`;
Ahora las tablas emp y dept están vacías.
Eliminar la tabla y la base de datos
En este último paso, aprenderás a eliminar la tabla emp y la base de datos testddl.
- Elimina la tabla
emp:
DROP TABLE `emp`;
- Elimina la base de datos
testddl:
DROP DATABASE `testddl`;
Puedes consultar la siguiente salida:
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)
¡Felicitaciones! Has completado el Desafío Completo de DDL. Has aprendido cómo crear una base de datos, crear tablas, modificar estructuras de tablas, eliminar datos de tablas y eliminar tablas y bases de datos. ***
Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



