-- Principales comandos DDL (Data Definition Language): Utilizado para definir estructuras de bases de datos y objetos como tablas, índices, y vistas. -- CREATE DATABASE: permite crear una base de datos CREATE DATABASE MiBaseDeDatos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CREATE TABLE: Se utiliza para crear una nueva tabla en la base de datos. USE MiBaseDeDatos; -- indicamos que tabla vamos a usar CREATE TABLE departamentos ( id INT PRIMARY KEY, nombre VARCHAR(50) ); CREATE TABLE Empleados ( id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50), dni VARCHAR(50) UNIQUE, salario DECIMAL(10, 2), fecha_contratacion DATE, departamento_id INT, CHECK (salario < 10000), CONSTRAINT fk_departamento FOREIGN KEY (departamento_id) REFERENCES departamentos(id) ); -- Restricciones Restricción Descripción NOT NULL Indica que una columna no puede contener un valor NULL UNIQUE Indica que cada fila de la columna debe tener un valor único PRIMARY KEY Combinación entre NOT NULL y UNIQUE. Asegura que una o más columnas tienen una identidad única FOREIGN KEY Asegura la integridad referencial de los datos CHECK Asegura que el valor de una columna cumple con una condición específica DEFAULT Establece un valor por defecto en una columna -- ALTER TABLE: Se utiliza para modificar una tabla existente, agregando, modificando o eliminando columnas. ALTER TABLE Empleados ADD COLUMN departamento VARCHAR(50), -- Añade MODIFY COLUMN salario DECIMAL(12, 2), -- Modifica el tipo DROP COLUMN fecha_contratacion, --Elimina RENAME TO Empleados2; -- Renombra la tabla -- Añadir una restricción ALTER TABLE orders -- Tabla sobre la que actuamos ADD CONSTRAINT fk_customerNumber -- Nombre restricción FOREIGN KEY (customerNumber) -- Restricción REFERENCES customers(customerNumber); -- Tabla de la clave primaria -- CREATE INDEX: Se utiliza para crear un índice en una tabla para acelerar la búsqueda de registros. CREATE INDEX idx_nombre ON Empleados(nombre); -- DROP INDEX: Se utiliza para eliminar un índice existente de la base de datos. DROP INDEX idx_nombre ON Empleados; --CREATE VIEW: Se utiliza para crear una vista, que es una tabla virtual basada en los resultados de una consulta CREATE VIEW VistaEmpleados AS SELECT id, nombre, salario FROM Empleados WHERE departamento = 'Ventas'; --DROP VIEW VistaEmpleados; para borrarla --CREATE PROCEDURE: Se utiliza para crear un procedimiento almacenado, que es un conjunto de instrucciones SQL que se pueden ejecutar de forma repetida. DELIMITER // CREATE PROCEDURE ObtenerPedidosUsuario(usu_id INT ) BEGIN SELECT * FROM pedidos WHERE cliente_id = usu_id; END// DELIMITER ; --Para ejecutarlo CALL ObtenerPedidosUsuario('ID_DEL_USUARIO'); --Para borrarlo DROP PROCEDURE ObtenerPedidosUsuario;