Questo foglio riassuntivo di SQL raccoglie i comandi che uno sviluppatore utilizza quotidianamente, organizzati per attivitร . Ogni sezione associa la sintassi esatta a una descrizione semplice, trattando argomenti come la creazione di database, i tipi di dati, le query, i filtri, le join e l'indicizzazione.
๏ธ Comandi di struttura: CREATE DATABASE, CREATE TABLE, ALTER, RENAME e DROP definiscono e rimodellano lo schema.
๐ข Tipi di dati: I tipi numerici, testuali, di data e binari definiscono la dimensione di archiviazione e l'intervallo valido di ciascuna colonna.
๐ Comandi di recupero: Le query SELECT con WHERE, IN, LIKE e REGEXP restringono il set di risultati alle righe rilevanti.
โ๏ธ Comandi di modifica: Le operazioni INSERT, UPDATE e DELETE modificano le righe memorizzate e ognuna accetta una condizione opzionale.
๐ Comandi di aggregazione: GROUP BY con COUNT, MIN, MAX, SUM e AVG riassume i dati e HAVING filtra i gruppi.
๐ Comandi combinati: JOIN unisce le tabelle affiancate, mentre UNION sovrappone i risultati di due query.
UPDATE table_name SET column_name = new_value [WHERE condition];
Sintassi del comando di aggiornamento
ORDER BY in SQL: comando DESC e ASC
Comando
Descrizione
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC];
sintassi di base della clausola ORDER BY
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N];
Sintassi DESC e ASC
Comando SQL GROUP BY e clausola HAVING
RAGGRUPPA PER raggruppa le righe e HAVING filtra tali gruppi dopo che sono stati formati.
Raggruppa per
Comando
Descrizione
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition];
sintassi GROUP BY
Grouping e funzioni aggregate
Comando
Descrizione
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2;
Supponiamo di volere il numero totale di valori della colonna t2 nel nostro database.
Clausola AVENTE
Comando
Descrizione
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1;
Restituisce tutti i valori t4 per le righe della tabella2 il cui t1_id รจ x1.
Comandi SQL con caratteri jolly per Mi piace, NON Mi piace, Escape, ( % ), ( _ )
I caratteri jolly consentono a LIKE di corrispondere a stringhe parziali.
% il comando jolly percentuale in MySQL
Comando
Descrizione
SELECT statements... WHERE fieldname LIKE 'xxx%';
Sintassi di base per il carattere jolly % percentuale, che corrisponde a qualsiasi numero di caratteri
_ comando carattere jolly di sottolineatura
Comando
Descrizione
SELECT * FROM table1 WHERE t3 LIKE 'x2_';
Il trattino basso corrisponde esattamente a un carattere.
NON come il comando con caratteri jolly
Comando
Descrizione
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_';
Supponiamo di voler selezionare le righe della tabella1 il cui valore t3 non corrisponde al modello.
Esci dal comando con caratteri jolly della parola chiave
Comando
Descrizione
LIKE '67#%' ESCAPE '#';
Verifica la presenza della stringa letterale "67%", poichรฉ il simbolo # funge da carattere jolly.
Espressioni regolari SQL (REGEXP)
Comando
Descrizione
SELECT statements... WHERE fieldname REGEXP 'pattern';
Sintassi di base di una corrispondenza con espressione regolare
Metacaratteri delle espressioni regolari
Comando
Descrizione
*
Il metacarattere asterisco (*) corrisponde a zero o piรน occorrenze della stringa che lo precede.
+
Il metacarattere piรน (+) corrisponde a una o piรน occorrenze della stringa che lo precede.
?
Il metacarattere punto interrogativo (?) corrisponde a zero o una sola occorrenza della stringa che lo precede.
.
Il metacarattere punto (.) corrisponde a qualsiasi singolo carattere tranne il carattere di nuova riga.
[abc]
L'elenco dei caratteri [abc] corrisponde a uno qualsiasi dei caratteri racchiusi.
[^abc]
L'elenco di caratteri [^abc] corrisponde a qualsiasi carattere escluso quelli racchiusi tra parentesi.
[A-Z]
L'intervallo [AZ] corrisponde a qualsiasi lettera maiuscola.
[a-z]
L'intervallo [az] corrisponde a qualsiasi lettera minuscola.
[0-9]
L'intervallo [0-9] corrisponde a qualsiasi cifra da 0 a 9.
^
Il simbolo di accento circonflesso (^) ancora la corrispondenza all'inizio.
|
La barra verticale (|) isola le alternative.
[[:<:]]
Il marcatore [[:<:]] corrisponde all'inizio delle parole.
[[:>:]]
Il marcatore [[:>:]] corrisponde alla fine delle parole.
[:class:]
Il marcatore [:class:] corrisponde a una classe di caratteri, ad esempio [:alpha:] per le lettere, [:space:] per gli spazi bianchi, [:punct:] per la punteggiatura e [:upper:] per le lettere maiuscole.
Comandi delle funzioni SQL
Funzioni di stringa
Comando
Descrizione
SELECT t1_id, t2, UCASE(t2) FROM table1;
La funzione UCASE accetta una stringa come parametro e converte tutte le lettere in maiuscolo.
Funzioni numeriche
Comando
Descrizione
Esempio
DIV
Divisione intera
SELECT 23 DIV 6;
/
Divisione
SELECT 23 / 6;
-
Subtracproduzione
SELECT 23 - 6;
+
Aggiunta
SELECT 23 + 6;
*
Moltiplicazione
SELECT 23 * 6 AS multiplication_result;
% or MOD
Modulo
SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR
Rimuove le cifre decimali da un numero e lo arrotonda per difetto al numero intero piรน vicino.
SELECT FLOOR(23 / 6) AS floor_result;
ROUND
Arrotonda un numero con cifre decimali al numero intero piรน vicino.
SELECT ROUND(23 / 6) AS round_result;
Funzioni memorizzate
Comando
Descrizione
CREATE FUNCTION sf_name ([parameter(s)])
Obbligatorio. Dice MySQL server per creare una funzione denominata sf_name con i parametri opzionali definiti tra parentesi.
RETURNS data type
Obbligatorio. Specifica il tipo di dati restituito dalla funzione.
DETERMINISTIC
La funzione restituisce lo stesso valore ogni volta che le vengono forniti gli stessi argomenti.
STATEMENTS
Il codice procedurale eseguito dalla funzione.
Comandi della funzione SQL Aggregate
Comando
Descrizione
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2;
CONTEGGIO
SELECT MIN(t3) FROM table2;
Funzione MIN
SELECT MAX(t3) FROM table2;
Funzione MAX
SELECT SUM(t4) FROM table3;
Funzione SUM
SELECT AVG(t4) FROM table3;
AVG funzione
Comandi SQL IS NULL e IS NOT NULL
A NULL รจ un valore assente, quindi deve essere verificato con IS NULL anzichรฉ con l'operatore di uguaglianza.
Comando
Descrizione
SELECT COUNT(t3) FROM table1;
La funzione COUNT ignora i valori NULL presenti nella colonna.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
L'opzione NOT NULL impedisce l'inserimento di valori vuoti in una colonna.
Questi comandi modificano una tabella che contiene giร dei dati.
Comando
Descrizione
ALTER TABLE table_name ADD COLUMN column_name data_type;
Sintassi ALTER
DROP TABLE sample_table;
Sintassi DROP TABLE
RENAME TABLE current_table_name TO new_table_name;
Sintassi del comando RENAME
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL;
CAMBIARE parola chiave
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL;
MODIFICA parola chiave
ALTER TABLE table1 ADD t4 date NULL AFTER t3;
DOPO parola chiave
LIMITE E OFFSET SQL
Comando
Descrizione
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
Sintassi della parola chiave LIMIT
SELECT * FROM table1 LIMIT 1, 2;
Offset nella query LIMIT: salta 1 riga, poi restituisci 2.
Comandi della sottocommissione SQL
Comando
Descrizione
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN(t1_id) FROM table2);
Sottoquery
Comandi JOINS SQL
SI UNISCE Unire le colonne di due tabelle in un unico set di risultati.
Comando
Descrizione
SELECT * FROM table1 CROSS JOIN table2;
Croce ISCRIVITI
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
INNER JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
LEFT JOIN
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
GIUSTO UNISCITI
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
Clausole โONโ e โUSINGโ.
Comandi UNION SQL
UNION unisce le righe di due query, mentre JOIN le espande in piรน colonne.
Comando
Descrizione
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
Sintassi UNION. Le righe duplicate vengono rimosse.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL mantiene le righe duplicate.
SQL nei comandi Visualizzazioni
Visualizzazioni Una query viene memorizzata con un nome specifico in modo da poter essere riutilizzata come una tabella.
Comando
Descrizione
CREATE VIEW view_name AS SELECT statement;
Visualizza la sintassi
DROP VIEW general_v_movie_rentals;
Cadereping visualizzazioni
Comandi dell'indice SQL
Un indice รจ una struttura di ricerca che rende le ricerche su una colonna molto piรน veloci.
Comando
Descrizione
CREATE INDEX id_index ON table_name(column_name);
Aggiungi la sintassi di base dell'indice
DROP INDEX index_id ON table_name;
Sintassi di base dell'indice Drop
DOMANDE FREQUENTI
No. Parole chiave come SELECT e WHERE funzionano in ogni caso. L'uso delle maiuscole รจ una convenzione per separare i comandi dagli identificatori. I nomi delle tabelle, tuttavia, possono essere sensibili alle maiuscole su Linux.
DELETE elimina le righe selezionate e puรฒ essere annullato. TRUNCATE svuota rapidamente l'intera tabella e reimposta AUTO_INCREMENT. DROP rimuove la definizione della tabella stessa.
Le clausole FROM e JOIN vengono eseguite per prime, seguite da WHERE, GROUP BY, HAVING, SELECT, ORDER BY e infine LIMIT. Per questo motivo, un alias di colonna definito in SELECT non puรฒ essere utilizzato all'interno di WHERE.
Sรฌ. Gli assistenti Text-to-SQL traducono una domanda in una query utilizzando lo schema della tabella. Leggi sempre le condizioni WHERE e JOIN generate, perchรฉ una query plausibile potrebbe restituire righe errate.
Sรฌ. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. RevAnalizzare l'output dell'IA, ottimizzare le query lente e leggere un piano di esecuzione: tutte queste attivitร richiedono fluiditร nell'uso dei comandi. Un foglio di riferimento velocizza la memorizzazione, ma non sostituisce la comprensione.
Riassumi questo post con:
Rimani aggiornato sull'intelligenza artificialeOttieni AI settimanale Competenze, tendenze, consigli pratici.
Iscriviti alla newsletter
Ti sei iscritto con successo. Controlla la tua posta in arrivo.