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 |