SQL Cheat Sheet (aggiornamento 2021)

In questo cheat sheet di SQL Query imparerai

Crea database e comandi di tabella

Comando Descrizione
CREA DATABASE DATABASE; Crea database
CREA DATABASE NON ESISTE database1; SE NON ESISTE consente di istruire il server MySQL a verificare l'esistenza di un database con un nome simile prima di creare il database.
CREA DATABASE SE NON ESISTE database1 SET DI CARATTERI latin1 COLLATE latin1_swedish_ci il set di caratteri Latin1 utilizza le regole di confronto latin1_swedish_ci che è l'ordine svedese senza distinzione tra maiuscole e minuscole.
MOSTRA DATABASE È possibile visualizzare l'elenco dei database esistenti eseguendo il seguente comando SQL.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [parametri opzionali]) ENGINE = storage Engine; Crea la sintassi della tabella

TIPI DI DATI

Tipi di dati numerici

Comando Descrizione
TINYINT () Da -128 a 127 normale da 0 a 255 UNSIGNED.
PICCOLO () Da -32768 a 32767 normale da 0 a 65535 UNSIGNED.
MEDIUMINT () Da -8388608 a 8388607 normale da 0 a 16777215 UNSIGNED.
INT () Da -2147483648 a 2147483647 normale da 0 a 4294967295 UNSIGNED.
BIGINT () -9223372036854775808 a 9223372036854775807 normale 0 a 18446744073709551615 NON SEGNATO.
GALLEGGIANTE Un piccolo numero approssimativo con un punto decimale mobile.
DOPPIO( , ) Un numero elevato con una virgola decimale mobile.
DECIMALE (,) Un DOUBLE memorizzato come stringa, che consente un punto decimale fisso. Scelta per memorizzare i valori di valuta.

Tipi di dati di testo

Comando Descrizione
CHAR () Una sezione fissa da 0 a 255 caratteri.
VARCHAR () Una sezione variabile da 0 a 255 caratteri.
TINYTEXT Una stringa con una lunghezza massima di 255 caratteri.
TESTO Una stringa con una lunghezza massima di 65535 caratteri.
BLOB Una stringa con una lunghezza massima di 65535 caratteri.
TESTO MEDIO Una stringa con una lunghezza massima di 16777215 caratteri.
MEDIUMBLOB Una stringa con una lunghezza massima di 16777215 caratteri.
LONGTEXT Una stringa con una lunghezza massima di 4294967295 caratteri.
LONGBLOB Una stringa con una lunghezza massima di 4294967295 caratteri.

Tipi di dati data / ora

Comando Descrizione
DATA AAAA-MM-GG
APPUNTAMENTO AAAA-MM-GG HH: MM: SS
TIMESTAMP AAAAMMGGHHMMSS
TEMPO HH: MM: SS

Altri tipi di dati

Comando Descrizione
ENUM Per memorizzare il valore di testo scelto da un elenco di valori di testo predefiniti.
IMPOSTATO Viene utilizzato anche per memorizzare i valori di testo scelti da un elenco di valori di testo predefiniti. Può avere più valori.
BOOL Sinonimo di TINYINT (1), utilizzato per memorizzare valori booleani
BINARIO Simile a CHAR, la differenza è che i testi vengono memorizzati in formato binario.
VARBINARIA Simile a VARCHAR, la differenza è che i testi vengono memorizzati in formato binario.

Comando di istruzione MySQL SELECT

Comando Descrizione
SELEZIONA [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) Sintassi dell'istruzione SQL SELECT
SELEZIONA * DA tabella1; seleziona la tabella
SELEZIONA t1, t2, t3, t4 FROM table1; ci interessa solo ottenere solo i campi t1, t2, t3 e t4.
SELEZIONA Concat (t1, (, t3,)), t4 FROM table2; Ottenere l'elenco table2
SELEZIONA nome_colonna | valore | espressione [AS] nome_alias; Sintassi dei nomi dei campi alias

Clausola WHERE di MySQL con i comandi AND, OR, IN, NOT IN

Comando Descrizione
SELECT * FROM tableName WHERE condizione; WHERE clausola Sintassi
SELEZIONA * DA tabella1 DOVE t1 = 2 AND t2 = 2008; Clausola WHERE combinata con - AND LOGICAL Operator
SELEZIONA * DA tabella1 DOVE t1 = 1 OR t1 = 2; Clausola WHERE combinata con - OR LOGICAL Operator
SELEZIONA * DA table2 WHERE t1 IN (1,2,3); Clausola WHERE combinata con - IN Keyword
SELEZIONA * DA table2 WHERE t1 NOT IN (1,2,3); WHERE clausola combinata con - NOT IN Keyword
SELEZIONA * DA tabella2 DOVE t3 = Femmina; Clausola WHERE combinata con Equal (=) a COMPARISON OPERATORS
SELEZIONA * DA table3 WHERE t3> 2000; WHERE clausola combinata con maggiore di (>) a COMPARISON OPERATORS
SELEZIONA * DA tabella1 DOVE t1 <> 1; Clausola WHERE combinata con Non uguale a (<>) COMPARISON OPERATORS

Comando MySQL INSERT INTO Table

Comando Descrizione
INSERT INTO table_name (column_1, column_2,…) VALUES (value_1, value_2,…); sintassi di base del comando SQL INSERT
INSERIRE NELLA tabella1 (t1, t2, t3, t4) VALORI (X1, X2, X3, X4); INSERISCI i dati nella tabella
INSERT INTO table_1 SELECT * FROM table_2; Inserimento in una tabella da un'altra tabella

Comando MySQL DELETE

Comando Descrizione
DELETE FROM table_name [WHERE condition]; Elimina una riga in MySQL

Esempio: - DELETE FROM table1 WHERE table1_id = 18;

(cancella la voce di 18 numeri id dal form table1.) DELETE FROM table1 WHERE table1_id IN (20,21); (eliminare la voce di 20 e 21 numero id dalla tabella1)

Comando di aggiornamento di MySQL

Comando Descrizione
UPDATE nome_tabella SET nome_colonna = nuovo_valore [WHERE condizione]; aggiorna la sintassi del comando

Esempio: - SELECT * FROM table1 WHERE t1 = 1;

(recupera il record per t1 = 1) UPDATE table1 SET t4 = X1 WHERE t1 = 1; (aggiorna il valore t4 nella tabella)

ORDER BY in MySQL: comando DESC e ASC

Comando Descrizione
Istruzione SELECT… [WHERE condition | GROUP BY field_name (s) HAVING condition] ORDER BY field_name (s) [ASC | DESC]; Ordina per clausola sintassi di base
SELEZIONA {fieldName (s) | *} FROM tableName [WHERE condition] ORDER BY fieldname ASC / DESC [LIMIT N] Sintassi DESC e ASC

Esempio: - Per DESC (discendente)

SELEZIONA * DA tabella1 ORDINA PER t3 DESC; Per ASC (crescente) SELEZIONA * DA tabella1 ORDINA PER t3 ASC;

Comando MySQL GROUP BY e HAVING Clause

Raggruppare per

Comando Descrizione
Istruzioni SELECT… GROUP BY nome_colonna1 [, nome_colonna2,…] [HAVING condition]; Sintassi GROUP BY

Esempio di raggruppamento di una singola colonna: - SELECT t4 FROM table1;

SELECT t4 FROM table1 GROUP BY t4; (supponiamo di voler ottenere i valori univoci per t4.)

Esempio di raggruppamento di più colonne: - SELECT t1_id, t4 FROM table2;

SELECT t1_id, t4 FROM table2 GROUP BY t1_id, t4; (utilizzando il metodo group by)

Funzioni di raggruppamento e aggregazione

Comando Descrizione
SELEZIONA t2, COUNT (t1) FROM table1 GROUP BY t2; Supponiamo di volere il numero totale di valori di colonna t2 nel nostro database.

Clausola HAVING

Comando Descrizione
SELEZIONA * DA table2 GROUP BY t1_id, t4 HAVING t1_id = x1; tutti i t4 per table2 t1 id x1. Useremo il seguente script per ottenere i nostri risultati.

Comandi MySQL Wildcards per Like, NOT Like, Escape, (%), (_)

% il comando percentuale di caratteri jolly in MySQL

Comando Descrizione
Istruzioni SELECT… WHERE fieldname LIKE xxx%; sintassi di base per il carattere jolly% percentuale

Esempio: - useremmo il carattere jolly percentuale per eseguire un pattern match su entrambi i lati della parola "X1" come parte t2 di table1 SELECT * FROM table1 WHERE t2 LIKE% X1%;

SELEZIONA * DA tabella1 DOVE t2 COME% X1; (solo il carattere jolly percentuale all'inizio dei criteri di ricerca) SELECT * FROM table1 WHERE t2 LIKE X1%; (il carattere jolly percentuale alla fine del modello specificato da abbinare.)

_ comando carattere jolly di sottolineatura

Comando Descrizione
SELEZIONA * DA table1 WHERE t3 LIKE x2_; tutta la tabella1 che era t3 nell'anno "x2"

NON come il comando con caratteri jolly

Comando Descrizione
SELEZIONA * DA tabella1 DOVE t3 NON COME X2_; Supponiamo di voler ottenere la tabella1 che non era t3 nell'anno X2_

Comando con caratteri jolly per parola chiave di escape

Comando Descrizione
COME 67 # %% ESCAPE #; vogliamo controllare la stringa "67%"

MYSQL Regular Expressions (REGEXP)

Comando Descrizione
Istruzioni SELECT ... WHERE nome campo REGEXP pattern; sintassi di base dell'espressione regolare

Esempio: - tutte le table1 t1 che contengono la parola X1. Non importa se "X1" si trova all'inizio, a metà o alla fine del titolo. SELEZIONA * DA tabella1 DOVE t1 REGEXP X1;

Metacaratteri delle espressioni regolari

Comando Descrizione
* Il metacarattere asterisco (*) viene utilizzato per trovare zero (0) o più istanze delle stringhe che lo precedono
+ Il metacarattere più (+) viene utilizzato per trovare una o più istanze di stringhe che lo precedono.
? Il metacarattere domanda (?) Viene utilizzato per trovare zero (0) o una istanza delle stringhe che lo precedono.
. Il metacarattere punto (.) Viene utilizzato per trovare la corrispondenza con ogni singolo carattere ad eccezione di una nuova riga.
[abc] La charlist [abc] viene utilizzata per trovare qualsiasi carattere racchiuso.
[^abc] La charlist [abc] viene utilizzata per trovare qualsiasi carattere escluso quelli racchiusi.
[A-Z] La [AZ] viene utilizzata per abbinare qualsiasi lettera maiuscola
[a-z] La [az] viene utilizzata per abbinare qualsiasi lettera minuscola
[0-9] Lo [0-9] viene utilizzato per abbinare qualsiasi cifra da 0 a 9.
^ L'accento circonflesso (^) viene utilizzato per avviare la partita dall'inizio.
| La barra verticale (|) viene utilizzata per isolare le alternative.
[[:<:]] Il [[: <:]] corrisponde all'inizio delle parole.
[[:>:]] Il [[:>:]] corrisponde alla fine delle parole.
[:class:] [: Class:] corrisponde a una classe di caratteri, ad esempio [: alpha:] per trovare lettere, [: space:] per corrispondere a spazi bianchi, [: punct:] corrisponde a punteggiatura e [: upper:] per lettere di classe superiore.

Comandi delle funzioni SQL

Funzioni di stringa

Comando Descrizione
SELEZIONA t1_id, t2, UCASE (t2) DA tabella1; la funzione "UCASE" per farlo. Prende una stringa come parametro e converte tutte le lettere in maiuscolo.

Funzioni numeriche

Comando Descrizione Esempio
DIV Divisione intera SELEZIONA 23 DIV 6;
/ Divisione SELEZIONA 23/6;
- Sottrazione SELEZIONA 23 - 6;
+ Aggiunta SELEZIONA 23 + 6;
* Moltiplicazione SELEZIONA 23 * 6 AS multiplication_result;
% or MOD Modulo SELEZIONA 23% 6; o SELEZIONA 23 MOD 6;
Floor questa funzione rimuove le cifre decimali da un numero e lo arrotonda al numero più basso più vicino. SELEZIONA PIANO (23/6) AS floor_result;
Round questa funzione arrotonda un numero con posizioni decimali al numero intero più vicino. SELEZIONA ROUND (23/6) COME round_result;

Funzioni memorizzate

Comando Descrizione
CREATE FUNCTION sf_name ([parameter (s)]) RETURNS tipo di dati DICHIARAZIONI DETERMINISTICHE sintassi di base per la creazione di una funzione memorizzata
CREA FUNZIONE nome_f ([parametro / i]) Obbligatorio e dice al server MySQL di creare una funzione chiamata `sf_name 'con parametri opzionali definiti tra parentesi.
RESTITUISCE il tipo di dati Obbligatorio e specifica il tipo di dati che la funzione deve restituire.
DETERMINISTICO La funzione restituirà gli stessi valori se gli vengono forniti gli stessi argomenti.
DICHIARAZIONI Il codice procedurale eseguito dalla funzione.

Comandi della funzione MySQL Aggregate

Comando Descrizione
SELEZIONA COUNT (t1_id) FROM table1 WHERE t1_id = 2; Funzione COUNT
SELEZIONA MIN (t3) DA tabella2; Funzione MIN
SELEZIONA MAX (t3) DA tabella2; Funzione MAX
SELEZIONA SOMMA (t4) DA tabella3; Funzione SOMMA
SELEZIONA AVG (t4) DA table3; Funzione AVG

MySQL È NULL E NON È NULL

Comando Descrizione
SELEZIONA COUNT (t3) FROM table1; (se t3 ha un valore nullo presente che non conta) Null come valore
CREATE TABLE table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); Valori NOT NULL
comlumn_name IS NULL comlumn_name NOT NULL Parole chiave NULL Sintassi di base
SELECT * FROM table1 WHERE t2_number IS NULL; Esempio di IS NULL
SELEZIONA * DA tabella1 DOVE t2_number NON È NULLO; Esempio di IS NOT NULL

Comandi MySQL AUTO_INCREMENT

Comando Descrizione
CREATE TABLE table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); Sintassi dell'incremento automatico

MYSQL - ALTER, DROP, RENAME, MODIFY

Comando Descrizione
ALTER TABLE nome_tabella ADD COLUMN nome_colonna tipo_data; Alter- sintassi
DROP TABLE sample_table; Sintassi DROP TABLE
RINOMINA TABELLA nome_tabella_attuale A nome_tabella_nuovo; RINOMINA la sintassi del COMANDO
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char (250) NOT NULL; CAMBIA PAROLA CHIAVE
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; MODIFICA PAROLA CHIAVE
ALTER TABLE table1 ADD t4 date NULL DOPO t3; DOPO LA PAROLA CHIAVE

LIMITE E SCARTO DI MySQL

Comando Descrizione
SELEZIONA {nome / i campo | *} FROM tableName (s) [WHERE condition] LIMIT N; LIMITE sintassi delle parole chiave
SELEZIONA * DA tabella1 LIMITE 1, 2; OFF SET nella query LIMIT

Comandi MySQL SubQuery:

Comando Descrizione
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) from table2); query secondarie

MySQL JOINS comandi

Comando Descrizione
SELEZIONA * DA tabella1 CROSS JOIN tabella2 Cross JOIN
SELEZIONA table1.t1, table1.t2, table2.t1 FROM table1, table2 WHERE table2.id = table1.table2_id INNER JOIN
SELEZIONA A.t1, B.t2, B.t3 FROM table2 COME A LEFT JOIN table1 AS B ON B.table2_id = A.id UNISCI A SINISTRA
SELEZIONA A.t1, A.t2, B.t3 FROM table1 COME A RIGHT JOIN table2 AS B ON B.id = A.table2_id PARTECIPA A DESTRA
SELEZIONA A.t1, B.t2, B.t3 FROM table2 COME A LEFT JOIN table1 AS B USING (table2_id) Clausole "ON" e "USING"

Comandi MySQL UNION

Comando Descrizione
SELEZIONA colonna1, colonna2 DA tabella1 Sintassi UNION
SELEZIONA colonna1, colonna2 DA tabella2; UNION DISTINCT

Comandi MySQL in Views

Comando Descrizione
CREATE VIEW view_name AS SELECT istruzione; Sintassi delle viste
VISUALIZZAZIONE DROP general_v_movie_rentals; Perdita di visualizzazioni

Comandi dell'indice MySQL

Comando Descrizione
CREATE INDEX id_index ON nome_tabella (nome_colonna); Aggiungi la sintassi di base dell'indice
DROP INDEX index_id ON nome_tabella; Sintassi di base dell'indice di rilascio

Articoli interessanti...