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 |