Comandos mysql

Comandos mysql

Manejo de Fechas:

-- Obtener fecha y hora actual

SELECT NOW(), CURDATE(), CURTIME();

-- Agregar días, meses, años

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);

SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);

-- Diferencia entre fechas

SELECT DATEDIFF('2025-06-01', '2025-05-24');

-- Formatear fechas

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');



Triggers (Disparadores):


CREATE TRIGGER nombre_trigger

AFTER INSERT ON tabla

FOR EACH ROW

BEGIN

-- lógica

INSERT INTO auditoria (evento) VALUES ('Insert realizado');

END;

 

Subconsultas:


 -- Subconsulta en SELECT

SELECT nombre FROM empleados

WHERE departamento_id = (SELECT id FROM departamentos WHERE nombre = 'Ventas');

-- Subconsulta en FROM

SELECT AVG(salario) FROM (

SELECT salario FROM empleados WHERE departamento_id = 1

) AS sub;

-- Subconsulta con EXISTS

SELECT nombre FROM empleados e

WHERE EXISTS (

SELECT 1 FROM proyectos p WHERE p.empleado_id = e.id

);


Manejo de Cadenas:

 -- Concatenar

SELECT CONCAT(nombre, ' ', apellido) FROM empleados;

-- Buscar dentro de una cadena

SELECT * FROM productos WHERE nombre LIKE '%telefono%';

-- Longitud, mayúsculas, minúsculas

SELECT LENGTH(nombre), UPPER(nombre), LOWER(nombre) FROM empleados;

-- Subcadenas y reemplazos

SELECT SUBSTRING(nombre, 1, 3), REPLACE(nombre, 'a', 'x') FROM empleados;



Tipos ENUM y SET:


 -- ENUM: valor único entre opciones

CREATE TABLE ejemplo_enum (

estado ENUM('activo', 'inactivo', 'pendiente')

);

-- SET: múltiples valores de una lista

CREATE TABLE ejemplo_set (

permisos SET('lectura', 'escritura', 'ejecución')

);



Tipo BLOB (Binary Large Object):

CREATE TABLE archivos (

id INT AUTO_INCREMENT PRIMARY KEY,

nombre VARCHAR(100),

datos BLOB

);



Crear Tabla a partir de Otra:


 -- Crear nueva tabla con estructura de otra

CREATE TABLE nueva_tabla LIKE tabla_existente;

-- Crear nueva tabla con datos seleccionados

CREATE TABLE empleados_ventas AS

SELECT * FROM empleados WHERE departamento = 'Ventas';



Manejo en Cascada (ON DELETE / ON UPDATE CASCADE):


CREATE TABLE pedidos (

id INT PRIMARY KEY,

cliente_id INT,

FOREIGN KEY (cliente_id) REFERENCES clientes(id)

ON DELETE CASCADE

ON UPDATE CASCADE

);

 

Administración de Usuarios (MySQL): 


-- Crear usuario

CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña';

-- Dar permisos

GRANT SELECT, INSERT, UPDATE ON basedatos.* TO 'usuario'@'localhost';

-- Revocar permisos

REVOKE UPDATE ON basedatos.* FROM 'usuario'@'localhost';

-- Eliminar usuario

DROP USER 'usuario'@'localhost';

--ver usuarios

SELECT user, host FROM mysql user;  //hay que poner el "." despues de mysql

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar