Hoja de referencia de SQL (actualización de 2021)

Tabla de contenido:

Anonim

En esta hoja de trucos de consultas SQL aprenderá

Crear comandos de tabla y base de datos

Mando Descripción
CREAR BASE DE DATOS BASE DE DATOS; Crear base de datos
CREAR BASE DE DATOS NO EXISTE database1; SI NO EXISTE le permite indicar al servidor MySQL que verifique la existencia de una base de datos con un nombre similar antes de crear la base de datos.
CREAR BASE DE DATOS SI NO EXISTE database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci el juego de caracteres Latin1 usa la intercalación latin1_swedish_ci, que es el orden sueco que no distingue entre mayúsculas y minúsculas.
MOSTRAR BASES DE DATOS Puede ver la lista de bases de datos existentes ejecutando el siguiente comando SQL.
CREAR TABLA [SI NO EXISTE] TableName (nombre de campo tipo de datos [parámetros opcionales]) ENGINE = motor de almacenamiento; Crear sintaxis de tabla

TIPOS DE DATOS

Tipos de datos numéricos

Mando Descripción
TINYINT () -128 a 127 normal 0 a 255 SIN FIRMAR.
PEQUEÑO () -32768 a 32767 normal 0 a 65535 SIN FIRMAR.
MEDIUMINT () -8388608 a 8388607 normal 0 a 16777215 SIN FIRMAR.
EN T( ) -2147483648 a 2147483647 normal 0 a 4294967295 SIN FIRMAR.
EMPEZANDO( ) -9223372036854775808 a 9223372036854775807 normal 0 a 18446744073709551615 SIN FIRMAR.
FLOTADOR Un pequeño número aproximado con un punto decimal flotante.
DOBLE (,) Un número grande con un punto decimal flotante.
DECIMAL (,) DOBLE almacenado como una cadena, lo que permite un punto decimal fijo. Opción para almacenar valores de moneda.

Tipos de datos de texto

Mando Descripción
CHAR () Una sección fija de 0 a 255 caracteres de longitud.
VARCHAR () Una sección variable de 0 a 255 caracteres de longitud.
TINYTEXT Una cadena con una longitud máxima de 255 caracteres.
TEXTO Una cadena con una longitud máxima de 65535 caracteres.
GOTA Una cadena con una longitud máxima de 65535 caracteres.
MEDIUMTEXT Una cadena con una longitud máxima de 16777215 caracteres.
MEDIUMBLOB Una cadena con una longitud máxima de 16777215 caracteres.
TEXTO LARGO Una cadena con una longitud máxima de 4294967295 caracteres.
LONGBLOB Una cadena con una longitud máxima de 4294967295 caracteres.

Tipos de datos de fecha / hora

Mando Descripción
FECHA AAAA-MM-DD
FECHA Y HORA AAAA-MM-DD HH: MM: SS
TIMESTAMP AAAAMMDDHHMMSS
HORA HH: MM: SS

Otros tipos de datos

Mando Descripción
ENUM Para almacenar el valor de texto elegido de una lista de valores de texto predefinidos.
COLOCAR También se utiliza para almacenar valores de texto elegidos de una lista de valores de texto predefinidos. Puede tener varios valores.
BOOL Sinónimo de TINYINT (1), utilizado para almacenar valores booleanos
BINARIO Similar a CHAR, la diferencia es que los textos se almacenan en formato binario.
VARBINARIO Similar a VARCHAR, la diferencia es que los textos se almacenan en formato binario.

Comando de instrucción SELECT de MySQL

Mando Descripción
SELECCIONAR [DISTINTO | TODOS] {* | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condición] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) Sintaxis de la instrucción SQL SELECT
SELECCIONAR * DE table1; selecciona la mesa
SELECCIONE t1, t2, t3, t4 DE la tabla1; solo estamos interesados ​​en obtener solo los campos t1, t2, t3 y t4.
SELECCIONE Concat (t1, (, t3,)), t4 FROM table2; Obteniendo el listado table2
SELECT nombre_columna | valor | expresión [AS] alias_name; Sintaxis de nombres de campo de alias

Cláusula WHERE de MySQL con comandos AND, OR, IN, NOT IN

Mando Descripción
SELECT * FROM tableName WHERE condición; Sintaxis de la cláusula WHERE
SELECCIONE * DE la tabla1 DONDE t1 = 2 Y t2 = 2008; Cláusula WHERE combinada con - Y operador lógico
SELECCIONE * DE la tabla1 DONDE t1 = 1 O t1 = 2; Cláusula WHERE combinada con - OR LOGICAL Operador
SELECCIONAR * DE la tabla2 DONDE t1 IN (1,2,3); Cláusula WHERE combinada con - IN Keyword
SELECCIONAR * DE la tabla2 DONDE t1 NO ESTÁ EN (1,2,3); La cláusula WHERE combinada con - NOT IN Keyword
SELECCIONE * DE la tabla2 DONDE t3 = Mujer; Cláusula WHERE combinada con Igual (=) a OPERADORES DE COMPARACIÓN
SELECCIONAR * DE table3 DONDE t3> 2000; WHERE cláusula combinada con mayor que (>) para COMPARISON OPERATORS
SELECT * FROM table1 DONDE t1 <> 1; La cláusula WHERE combinada con No es igual a (<>) OPERADORES DE COMPARACIÓN

Comando de MySQL INSERT INTO Table

Mando Descripción
INSERT INTO nombre_tabla (columna_1, columna_2,…) VALORES (valor_1, valor_2,…); sintaxis básica del comando SQL INSERT
INSERT INTO table1 (t1, t2, t3, t4) VALORES (X1, X2, X3, X4); INSERTAR datos en la tabla
INSERT INTO table_1 SELECT * FROM table_2; Insertar en una tabla desde otra tabla

Comando DELETE de MySQL

Mando Descripción
DELETE FROM table_name [WHERE condición]; Eliminar una fila en MySQL

Ejemplo: - BORRAR DE table1 DONDE table1_id = 18;

(elimine la entrada del formulario de identificación de 18 números table1.) ELIMINAR DE table1 DONDE table1_id IN (20,21); (elimine la entrada de la tabla 1 del formulario de identificación de números 20 y 21)

Comando de actualización de MySQL

Mando Descripción
ACTUALIZAR nombre_tabla SET nombre_columna = nuevo_valor [DONDE condición]; actualizar la sintaxis del comando

Ejemplo: - SELECT * FROM table1 DONDE t1 = 1;

(recuperar el registro para t1 = 1) ACTUALIZAR tabla1 SET t4 = X1 DONDE t1 = 1; (actualice el valor t4 en la tabla)

ORDER BY en MySQL: comando DESC y ASC

Mando Descripción
Sentencia SELECT… [condición WHERE | GROUP BY field_name (s) HAVING condition] ORDER BY field_name (s) [ASC | DESC]; Orden por cláusula de sintaxis básica
SELECCIONAR {fieldName (s) | *} FROM tableName (s) [WHERE condición] ORDER BY fieldname (s) ASC / DESC [LIMIT N] Sintaxis DESC y ASC

Ejemplo: - Para DESC (descendente)

SELECT * FROM table1 ORDER BY t3 DESC; Para ASC (ascendente) SELECT * FROM table1 ORDER BY t3 ASC;

Comando de cláusula GROUP BY y HAVING de MySQL

Agrupar por

Mando Descripción
Sentencias SELECT… GROUP BY nombre_columna1 [, nombre_columna2,…] [TENIENDO condición]; GRUPO POR Sintaxis

Ejemplo para agrupar una sola columna: - SELECT t4 FROM table1;

SELECT t4 FROM table1 GROUP BY t4; (supongamos que queremos obtener los valores únicos para t4).

Ejemplo para agrupar varias columnas: - SELECT t1_id, t4 FROM table2;

SELECT t1_id, t4 FROM table2 GROUP BY t1_id, t4; (usando grupo por método)

Funciones de agrupación y agregación

Mando Descripción
SELECCIONE t2, COUNT (t1) FROM table1 GROUP BY t2; Supongamos que queremos el número total de valores de columna t2 en nuestra base de datos.

TENIENDO cláusula

Mando Descripción
SELECT * FROM table2 GROUP BY t1_id, t4 TENIENDO t1_id = x1; todo el t4 para table2 t1 id x1. Usaríamos el siguiente script para lograr nuestros resultados.

Comandos MySQL Wildcards para Me gusta, NO Me gusta, Escape, (%), (_)

% del comando de comodines de porcentaje en MySQL

Mando Descripción
SELECCIONAR sentencias ... DONDE nombre de campo LIKE xxx%; sintaxis básica para% porcentaje comodín

Ejemplo: - usaríamos el comodín de porcentaje para realizar una coincidencia de patrón en ambos lados de la palabra "X1" como parte t2 de table1 SELECT * FROM table1 WHERE t2 LIKE% X1%;

SELECCIONAR * DE la tabla1 DONDE t2 COMO% X1; (el comodín de porcentaje al principio de los criterios de búsqueda solamente) SELECT * FROM table1 WHERE t2 LIKE X1%; (el comodín de porcentaje hasta el final del patrón especificado que se va a hacer coincidir).

_ comando comodín de subrayado

Mando Descripción
SELECCIONAR * DE la tabla1 DONDE t3 COMO x2_; todas las tablas1 que fueron t3 en el año "x2"

NO como comando comodín

Mando Descripción
SELECT * FROM table1 DONDE t3 NO ES COMO X2_; Supongamos que queremos obtener table1 que no fueron t3 en el año X2_

Comando comodín de palabra clave de escape

Mando Descripción
COMO 67 # %% ESCAPE #; queremos comprobar la cadena "67%"

Expresiones regulares de MYSQL (REGEXP)

Mando Descripción
Sentencias SELECT ... WHERE nombre de campo patrón REGEXP; sintaxis básica de la expresión regular

Ejemplo: - todas las tablas1 t1 que tienen la palabra X1 en ellas. No importa si el "X1" está al principio, en medio o al final del título. SELECCIONAR * DE la tabla1 DONDE t1 REGEXP X1;

Metacaracteres de expresión regular

Mando Descripción
* El metacarácter de asterisco (*) se usa para hacer coincidir cero (0) o más instancias de las cadenas que lo preceden
+ El metacarácter más (+) se usa para hacer coincidir una o más instancias de cadenas que lo preceden.
? El metacarácter de pregunta (?) Se usa para hacer coincidir cero (0) o una instancia de las cadenas que lo preceden.
. El metacarácter de punto (.) Se utiliza para hacer coincidir cualquier carácter individual a excepción de una nueva línea.
[abc] La lista de caracteres [abc] se utiliza para coincidir con cualquiera de los caracteres incluidos.
[^abc] La lista de caracteres [abc] se usa para hacer coincidir cualquier carácter, excepto los incluidos.
[A-Z] La [AZ] se utiliza para coincidir con cualquier letra mayúscula.
[a-z] La [az] se utiliza para coincidir con cualquier letra minúscula.
[0-9] El [0-9] se utiliza para hacer coincidir cualquier dígito del 0 al 9.
^ El signo de intercalación (^) se utiliza para iniciar la coincidencia al principio.
| La barra vertical (|) se utiliza para aislar alternativas.
[[:<:]] El [[: <:]] coincide con el comienzo de las palabras.
[[:>:]] El [[:>:]] coincide con el final de las palabras.
[:class:] [: Class:] coincide con una clase de caracteres, es decir, [: alpha:] para hacer coincidir letras, [: space:] para hacer coincidir el espacio en blanco, [: punct:] coincide con las puntuaciones y [: upper:] para las letras de la clase superior.

Comandos de funciones SQL

Funciones de cadena

Mando Descripción
SELECCIONE t1_id, t2, UCASE (t2) FROM table1; la función "UCASE" para hacer eso. Toma una cadena como parámetro y convierte todas las letras a mayúsculas.

Funciones numéricas

Mando Descripción Ejemplo
DIV División entera SELECCIONAR 23 DIV 6;
/ División SELECCIONAR 23/6;
- Sustracción SELECCIONAR 23 - 6;
+ Adición SELECCIONAR 23 + 6;
* Multiplicación SELECCIONE 23 * 6 AS multiplication_result;
% or MOD Módulo SELECCIONAR 23% 6; o SELECCIONAR 23 MOD 6;
Floor esta función elimina los lugares decimales de un número y lo redondea al número más bajo más cercano. SELECCIONE SUELO (23/6) AS suelo_resultado;
Round esta función redondea un número con posiciones decimales al número entero más cercano. SELECCIONAR RONDA (23/6) AS round_result;

Funciones almacenadas

Mando Descripción
CREATE FUNCTION sf_name ([parámetro (s)]) RETURNS tipo de datos DETERMINISTIC STATEMENTS sintaxis básica para crear una función almacenada
CREAR FUNCIÓN sf_name ([parámetro (s)]) Obligatorio y le dice al servidor MySQL que cree una función llamada 'sf_name' con parámetros opcionales definidos entre paréntesis.
DEVOLUCIONES tipo de datos Obligatorio y especifica el tipo de datos que debe devolver la función.
DETERMINISTA La función devolverá los mismos valores si se le proporcionan los mismos argumentos.
DECLARACIONES El código de procedimiento que ejecuta la función.

Comandos de función agregada de MySQL

Mando Descripción
SELECCIONE COUNT (t1_id) DE la tabla1 DONDE t1_id = 2; Función COUNT
SELECCIONE MIN (t3) FROM table2; Función MIN
SELECCIONE MAX (t3) FROM table2; Función MAX
SELECCIONE SUM (t4) DE table3; Función SUM
SELECCIONE AVG (t4) DE table3; Función AVG

MySQL ES NULO Y NO ES NULL comandos

Mando Descripción
SELECCIONE COUNT (t3) FROM table1; (si t3 tiene un valor nulo presente que no cuenta) Nulo como valor
CREAR TABLA table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); Valores NO NULOS
comlumn_name IS NULL comlumn_name NOT NULL Palabras clave NULL Sintaxis básica
SELECCIONAR * DE table1 DONDE t2_number ES NULO; Ejemplo de IS NULL
SELECCIONE * FROM table1 DONDE t2_number NO ES NULO; Ejemplo de IS NOT NULL

Comandos AUTO_INCREMENT de MySQL

Mando Descripción
CREAR TABLA table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); Sintaxis de incremento automático

MYSQL - ALTER, DROP, RENAME, MODIFY

Mando Descripción
ALTER TABLE nombre_tabla AÑADIR COLUMN nombre_columna tipo_datos; Alter- sintaxis
DROP TABLE sample_table; Sintaxis de DROP TABLE
RENAME TABLE nombre_tabla_actual TO nombre_tabla_nuevo; Sintaxis de RENAME COMMAND
ALTER TABLE table1 CAMBIAR COLUMNA t1_names t1name char (250) NOT NULL; CAMBIAR PALABRA CLAVE
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; MODIFICAR PALABRA CLAVE
ALTER TABLE table1 ADD t4 date NULL DESPUÉS de t3; DESPUÉS DE LA PALABRA CLAVE

LÍMITE Y DESPLAZAMIENTO DE MySQL

Mando Descripción
SELECCIONAR {nombre (s) de campo | *} FROM tableName (s) [DONDE condición] LIMIT N; LIMIT de sintaxis de palabras clave
SELECCIONAR * DE table1 LIMIT 1, 2; OFF SET en la consulta LIMIT

Comandos de MySQL SubQuery:

Mando Descripción
SELECT t1_name FROM table1 DONDE category_id = (SELECT MIN (t1_id) from table2); consultas secundarias

Comandos de MySQL JOINS

Mando Descripción
SELECT * FROM table1 CROSS JOIN table2 Cruz ÚNETE
SELECCIONE table1.t1, table1.t2, table2.t1 FROM table1, table2 DONDE table2.id = table1.table2_id UNIR INTERNAMENTE
SELECCIONE A.t1, B.t2, B.t3 DE table2 COMO UNA LEFT JOIN table1 COMO B EN B.table2_id = A.id ÚNETE A LA IZQUIERDA
SELECCIONE A.t1, A.t2, B.t3 DE table1 COMO UNA UNIÓN DERECHA table2 COMO B EN B.id = A.table2_id UNIRSE CORRECTAMENTE
SELECCIONE A.t1, B.t2, B.t3 DE table2 COMO UNA LEFT JOIN table1 COMO B USANDO (table2_id) Cláusulas "ON" y "USING"

Comandos de MySQL UNION

Mando Descripción
SELECT column1, column2 FROM table1 Sintaxis UNION
SELECCIONE column1, column2 FROM table2; UNIÓN DISTINTO

Comandos de MySQL en vistas

Mando Descripción
CREATE VIEW view_name AS instrucción SELECT; Sintaxis de vistas
DROP VIEW general_v_movie_rentals; Eliminando vistas

Comandos de índice MySQL

Mando Descripción
CREATE INDEX id_index ON nombre_tabla (nombre_columna); Agregar sintaxis básica de índice
DROP INDEX index_id ON nombre_tabla; Sintaxis básica de drop index