83 lines
2.9 KiB
SQL
83 lines
2.9 KiB
SQL
|
|
-- 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; |