CREATE: Crea bases de datos, tablas, índices, vistas y otros objetos.
DROP: Elimina bases de datos, tablas u otros objetos.
ALTER: Modifica la estructura de una tabla existente (añadir o eliminar columnas, cambiar el nombre, etc.).
RENAME: Cambia el nombre de una tabla.
TRUNCATE: Elimina todos los registros de una tabla rápidamente.
2. Lenguaje de Manipulación de Datos (DML)
SELECT: Recupera datos de una o más tablas.
INSERT INTO: Añade nuevos registros a una tabla.
UPDATE: Modifica los datos existentes en una tabla.
DELETE: Elimina filas de una tabla.
FROM: Especifica la tabla o tablas desde las cuales se extraerán los datos para una consulta. Se utiliza principalmente con SELECT, pero también se usa con otros comandos como DELETE y UPDATE.
WHERE: Se utiliza para especificar una condición que debe cumplirse para las filas que serán devueltas o afectadas por una consulta. WHERE puede usarse con SELECT, UPDATE, DELETE, y otras declaraciones SQL.
REPLACE INTO: Inserta una fila en una tabla, y si ya existe una fila con la misma clave primaria o única, la reemplaza. Esta palabra clave combina la funcionalidad de INSERT y UPDATE. Es útil cuando quieres insertar un nuevo registro pero también actualizar uno existente sin generar errores por duplicidad.
REPLACE (función de cadena): Reemplaza todas las apariciones de una subcadena dentro de una cadena con otra subcadena. Es usada dentro de una consulta SELECT para modificar cadenas de texto.
2.1. Recuperación de datos
* es un carácter comodín que selecciona todos los registros de una tabla. Se puede utilizar junto con la cláusula WHERE para recuperar todos los registros que cumplen con criterios específicos.
3. Lenguaje de Control de Datos (DCL)
GRANT: Otorga permisos a los usuarios.
REVOKE: Revoca permisos concedidos anteriormente.
4. Lenguaje de Control de Transacciones (TCL)
COMMIT: Confirma una transacción, guardando todos los cambios.
ROLLBACK: Cancela una transacción y revierte los cambios.
SAVEPOINT: Crea un punto de guardado dentro de una transacción para realizar un rollback parcial.
5. Operadores
AND: Operador lógico que devuelve TRUE si ambas condiciones son verdaderas.
OR: Operador lógico que devuelve TRUE si al menos una condición es verdadera.
NOT: Niega la condición especificada.
BETWEEN: Selecciona valores dentro de un rango.
LIKE: Busca un patrón específico dentro de una columna.
IN: Verifica si un valor está en un conjunto de valores.
IS NULL: Verifica si un valor es NULL.
6. Funciones de Agrupación y Agregación
GROUP BY: Agrupa filas que tienen los mismos valores en columnas especificadas.
HAVING: Filtra grupos de registros creados por GROUP BY.
COUNT(): Cuenta el número de filas.
SUM(): Suma los valores de una columna.
AVG(): Calcula el promedio de los valores de una columna.
MAX(): Encuentra el valor máximo en una columna.
MIN(): Encuentra el valor mínimo en una columna.
7. Claves y Restricciones
PRIMARY KEY: Define una columna o combinación de columnas que identifican de manera única cada fila en una tabla.
FOREIGN KEY: Define una relación entre dos tablas, vinculando la columna de una tabla con la clave primaria de otra.
UNIQUE: Restringe que todos los valores en una columna sean únicos.
NOT NULL: Asegura que una columna no tenga valores nulos.
AUTO_INCREMENT: Incrementa automáticamente el valor de una columna entera.
8. Comandos de Consulta Multitabla
JOIN: Combina filas de dos o más tablas en función de una condición.
LEFT JOIN: Retorna todas las filas de la tabla izquierda, y las filas coincidentes de la tabla derecha.
RIGHT JOIN: Retorna todas las filas de la tabla derecha, y las filas coincidentes de la tabla izquierda.
NATURAL JOIN: Une tablas automáticamente basándose en columnas con el mismo nombre.
9. Ordenamiento
ORDER BY: Ordena los resultados de una consulta.
ASC (Ascending): Ordena los resultados de una consulta en orden ascendente (de menor a mayor). Es el orden predeterminado cuando se utiliza ORDER BY.
DESC (Descending): Ordena los resultados de una consulta en orden descendente (de mayor a menor).
Tipos de datos
1. Tipos Numéricos
INT: Número entero estándar, ocupa 4 bytes.
TINYINT: Entero pequeño, ocupa 1 byte. Rango: -128 a 127.
SMALLINT: Entero pequeño, ocupa 2 bytes. Rango: -32,768 a 32,767.
MEDIUMINT: Entero mediano, ocupa 3 bytes. Rango: -8,388,608 a 8,388,607.
BIGINT: Entero grande, ocupa 8 bytes. Rango: -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807.
FLOAT: Número de coma flotante de precisión simple, ocupa 4 bytes.
DOUBLE: Número de coma flotante de precisión doble, ocupa 8 bytes.
DECIMAL(M, D): Número decimal almacenado como una cadena, útil para finanzas. M es la precisión y D los decimales.
2. Tipos de Datos de Fecha y Hora
DATE: Fecha en formato 'YYYY-MM-DD'.
DATETIME: Fecha y hora en formato 'YYYY-MM-DD HH:MM:SS'.
TIMESTAMP: Marca de tiempo en segundos desde '1970-01-01 00:00:01' UTC.
TIME: Hora en formato 'HH:MM:SS'.
YEAR: Año en formato de 4 dígitos ('YYYY').
3. Tipos de Datos de Cadenas de Texto
CHAR(M): Cadena de texto de longitud fija, M indica la longitud máxima.
VARCHAR(M): Cadena de texto de longitud variable, M indica la longitud máxima.
TEXT: Cadena de texto largo, hasta 65,535 caracteres.
TINYTEXT: Texto corto, hasta 255 caracteres.
MEDIUMTEXT: Texto mediano, hasta 16,777,215 caracteres.
LONGTEXT: Texto muy largo, hasta 4,294,967,295 caracteres.
4. Tipos de Datos Binarios
BLOB: Objeto binario grande, hasta 65,535 bytes.
TINYBLOB: BLOB pequeño, hasta 255 bytes.
MEDIUMBLOB: BLOB mediano, hasta 16,777,215 bytes.
LONGBLOB: BLOB grande, hasta 4,294,967,295 bytes.
5. Tipos de Datos de Enumeración y Conjunto
ENUM('value1', 'value2', …): Lista de valores predefinidos, permite almacenar un solo valor de la lista.
SET(‘value1’>, ‘value2’>, …): Lista de valores predefinidos, permite almacenar uno o varios valores de la lista.
6. Tipos de Datos Espaciales
POINT: Representa una sola ubicación geográfica (coordenadas X, Y).
LINESTRING: Representa una línea de varios puntos.
POLYGON: Representa un polígono de varios puntos.
GEOMETRY: Tipo de dato espacial genérico.
7. Tipos de Datos JSON
JSON: Almacena datos en formato JSON, permitiendo estructuras complejas y anidadas.
Adicionales en SQL/MySQL
Comandos de MySQL Shell
mysql -u [username] -p: Le permite acceder a MySQL Shell desde la línea de comando. Debe reemplazar el marcador de posición [username] con el nombre de usuario real que desea usar (probablemente root). Después de ingresar este comando, se le pedirá que ingrese su contraseña MySQL. Luego, iniciará sesión en MySQL Shell.
USE [name of database]: Selecciona la base de datos en la que desea trabajar, o que desea utilizar.
SHOW DATABASES: Muestra una lista de todas las bases de datos existentes a las que tiene acceso.
SHOW TABLES: Muestra una lista de todas las tablas de la base de datos que está utilizando.
SELECT DATABASES(): Muestra la base de datos actualmente en uso.
DESCRIBE [name of table]: Describe la estructura de una tabla.
Palabras Clave
VIEW: Crea una vista que es una tabla virtual basada en el resultado de una consulta SELECT.
INDEX: Crea un índice en una tabla para acelerar las consultas.
UNION: Combina los resultados de dos o más consultas SELECT.
EXISTS: Devuelve TRUE si una subconsulta devuelve uno o más registros.
CASE: Devuelve valores condicionales dentro de una consulta.
CAST: Convierte un tipo de dato a otro.
LIMIT: Restringe el número de filas devueltas por una consulta.