Show Menu
Cheatography

Mysql Cheat Sheet (DRAFT) by

this file has to have 20 characters

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Data Definition Language (DDL)

CREATE DATABASE db_name (field_1 type_1 constr­aint_1 , ... , field_n type_n constr­aint_n , any_ex­tra­_co­nst­raints );
Crea una database
SHOW DATABASES;
Lista databases
USE db_name;
Cambia de db
DROP DATABASE db_name;
Elimina db
 
SHOW TABLES;
Lista las tablas de la base de datos actual
SHOW FIELDS FROM table;
Lista los campos de la tabla table
DESC table;
muestra la estructura de la tabla
SHOW CREATE TABLE table;
muestra el CREATE TABLE de la tabla
DROP TABLE table;
Elimina la tabla
ALTER TABLE table ADD <co­nst­rai­nt>
Añade una constraint a la tabla table
ALTER TABLE table ADD COLUMN <co­lum­n_name column­_de­fin­ition >
Añade una columna a la tabla table
ALTER TABLE table DROP COLUMN <co­lum­n_n­ame>
Elimina una columna a la tabla table
INSERT INTO table (col1,...,­coln) VALUES (val1,...,­valn);
Inserta un registro en la tabla con los valores especi­ficados para cada campo segun el orden en VALUES
UPDATE table SET col1 = val1, ..., WHERE condition;
Actualiza los valores de las columnas a los especi­ficados en los registros que cumplan con las condic­iones del WHERE
DELETE FROM table WHERE condition;
Elimina los registros que cumplen las condic­iones del WHERE
permite especi­ficar, admini­strar y actualizar la base de datos.

Data Types

char(n)
String de tamaño fijo n
varchar(n)
String de tamaño variable, con largo maximo n
int
nros. entero
double precision
Nro. de punto flotante de doble precisión.
json
Objetos JSON
date
fechas sin componente de tiempo.
datetime
fechas con componente de tiempo.
enum('type­_1,...,­'t­ype_n')
lista enumerada de valores permitidos

OPERAC­IONES DE CONJUNTO

(query) UNION [ALL] (query)
Realiza la unión entre las respuestas de ambas queries
(query) INTERSECT [ALL] (query)
Realiza la inters­ección entre las respuestas de ambas queries
(query) EXCEPT [ALL] (query)
Realiza la resta entre la respuesta de la primera query menos la respuesta de la segunda query

Expres­iones / Funciones utiles

COUNT(IF(expre­ssion, value_­if_­true, value_­if_­false))
Podemos utilizarlo para contar las filas que cumplan la expresion con value_true = 1 y value_­false = 0
COALESCE(val_n­ule­able, nuevo_val)
se usa para reemplazar un valor "­nul­l" retornado en una consulta.
 

Constr­aints

PRIMARY KEY(col1, ...,coln)
Define a las columnas col_i como claves primarias (PK) de la tabla. Son UNIQUE y NOT NULL
NOT NULL
La columna no puede tener valores nulos
UNIQUE
La columna no puede tener valores repetidos
AUTO_I­NCR­EMENT
Genera identi­fic­adores unicos para las nuevas filas
FOREING KEY (col_1, ...,col_n) REFERENCES table(­field) [ON DELETE option] [ON UPDATE option]:
Indica que los valores de las columnas col_1,...,­col_n deben corres­pon­derse con los valores de el/los campo/s field de la tabla table.Si la restri­cción es violada, ON DELETE | ON UPDATE establecen como actuar.

Data Manipu­lation Language (DML)

SELECT (col_1, .., col_n) [AS *alias]
Elige las columnas a devolder en la respuesta
SELECT DISTINCT (col_1, .., col_n)
Devuelve las columnas selecc­ionadas sin duplicados
FROM table [AS alias]
Elige la tabla o tablas en las que buscar los registros, si eligo mas de una tabla se hace producto cartesiano entre ellas
WHERE condition
Filtra dejando solo los registros que cumplen con la condicion especi­ficada
ORDER BY column [ASC |DESC] [LIMIT int ]
Ordena según la/s columna/s especi­fic­ada/s en orden ASC o DESC y motrando tantos resultados como indique LIMIT

Funciones de agregación

MAX()
busca el maximo
MIN()
busca el minimo
AVG()
calcula el promedio
COUNT() | COUNT(¨DISTIN­CT**)
cuenta las filas (con o sin repeti­cion)
SUM()
suma los valores de las filas
Las agrega­ciones se realizan en los grupos especi­ficados por el GROUP BY , A igual valor, mismo grupo.Si se omite el GROUP BY, todas las filas se tratan como parte de un solo grupo.

Las columnas en el SELECT que no sean agregadas deben aparecer en el GROUP BY.
 

Consultas Anidadas

SET MEMBERSHIP (IN | NOT IN)
SELECT ... FROM ... WHERE (columns) IN [SUBQUERY] ó [ENUME­RATION]
Sirve para filtrar las columnas manten­iendo las que coincidan con alguno de los valores result­antes de la subquery o enumer­ación
SELECT ... FROM ... WHERE (columns) NOT IN [SUBQUERY] ó [ENUME­RATION]
Sirve para excluir las columnas cuyos valores sean la respuesta de la subquery o estén mencio­nados en la enumer­ación
SET COMPARISON (SOME | ALL)
comp = {>, <, >=, <=, =, <>}
SELECT ... FROM ... WHERE (columns) comp SOME [SUBQUERY]
significa que la condición será verdadera si la operación es verdadera para cualquiera (o alguno) de los valores del rango.
SELECT ... FROM ... WHERE (columns) comp ALL [SUBQUERY]
significa que la condición será verdadera solo si la operación es verdadera para todos los valores del rango.
EMPTY RELATIONS (EXISTS | NOT EXISTS)
SELECT ... FROM ... WHERE EXISTS [SUBQUERY]
El operador EXISTS devuelve VERDADERO si la subcon­sulta devuelve uno o más registros, Se utiliza para probar la existencia de algún registro en una subcon­sulta.
SELECT ... FROM ... WHERE NOT EXISTS [SUBQUERY]
El operador NOT EXISTS devuelve VERDADERO si la subcon­sulta no devuelve ningun registro, Se utiliza para probar la NO existencia de algún registro en una subcon­sulta.
Una subquery es una consulta anidada en un WHERE un FROM o una Columna -> query escalar

JOINS

INNER JOIN
FROM A INNER JOIN B ON join_c­ond­ition
Selecciona todas las filas de las tablas A y B donde la condición del join se satisface.
LEFT JOIN
FROM A LEFT JOIN B ON join_c­ond­ition
Selecciona todas las filas de las tablas A y aquellas de la tabla B donde la condición del join se satisface.
RIGHT JOIN
FROM A RIGHT JOIN B ON join_c­ond­ition
Selecciona todas las filas de las tablas B y aquellas de la tabla A donde la condición del join se satisface.
FULL JOIN
FROM A FULL JOIN B ON join_c­ond­ition
Selecciona todas las filas de las tablas A y B indepe­ndi­ent­emente de si la condición del join se satisface.

HAVING

[HAVING where_­con­dition]
permite filtrar grupos sobre los valores agregados, se chequea luego de que los grupos son comput­ados.

Seguridad

En SQL standard se incluyen los privil­egios SELECT, INSERT, UPDATE, y DELETE
GRANT <pr­ivilege list> on <re­lation name or view name> to <us­er/role list>;
El comando GRANT es usado para conceder autori­zación
REVOKE <pr­ivilege list> on <re­lation name or view name> from <us­er/role list>
La sentencia REVOKE se usa para Para anular una autori­zación
CREATE ROLE <ro­l_n­ame>
se utiliza para crear un Grupo de privil­egios relaci­onados que se otorgan a usuarios.
GRANT <pr­ivilege list> on table to <ro­l_n­ame­>;
asignación de privil­egios a roles
GRANT UPDATE <co­lum­n_n­ame> on table to <ro­l_n­ame­>;
asignación de privilegio de actual­izacion sobre una columna de la tabla a un role
GRANT <ro­l_n­ame> to <us­er>;
asignación de roles a usuarios