Cos'è SQL? Tutorial su forma estesa e nozioni di base.

⚡ Riepilogo intelligente

Cos'è SQL? Structured Query Language è il linguaggio standard per lavorare con i database relazionali. Consente di creare schemi, interrogare record, aggiornare righe, gestire autorizzazioni e connettere applicazioni moderne a motori come PostgreSQL, MySQLe SQL Server.

  • 📘 Definizione: SQL è l'acronimo di Structured Query Language, uno standard ANSI e ISO utilizzato per definire, interrogare e controllare i dati all'interno di un database relazionale.
  • 🧩 Tipologie di dichiarazioni: Comandi di gruppo DDL, DML, DCL, TCL e DQL come CREATE, INSERT, UPDATE, DELETE, SELECT e DROP.
  • Standard: ANSI SQL:2023 ha aggiunto il supporto nativo JSON e PostgreSQL- query standard di grafi di proprietà in stile (SQL/PGQ).
  • ⚙️ Motori: PostgreSQL 17 MySQL 8, Oracle SQL Server 23ai e SQL Server 2022 implementano ampie porzioni dello standard SQL moderno.
  • 🆚 SQL vs NoSQL: SQL impone schemi, join e transazioni ACID, mentre NoSQL sacrifica la rigidità strutturale a favore della scalabilità orizzontale e della flessibilità dei documenti.
  • 🤖 Angolo dell'IA: Gli assistenti Text-to-SQL come GitHub Copilot e Vanna AI ora traducono domande in linguaggio naturale in query SQL eseguibili.

Che cos'è SQL?

Che cos'è SQL?

SQL è il linguaggio standard per lavorare con i database relazionali. Viene utilizzato per inserire, cercare, aggiornare ed eliminare record e può anche ottimizzare e gestire i database. SQL è uno standard ANSI e ISO, quindi la stessa sintassi di base funziona su motori come PostgreSQL, MySQL, Oraclee SQL Server.

Modulo completo SQL

SQL sta per Structured Query Language, pronunciato come “SQL” o “See-Quel”. IBM lo ha sviluppato negli anni '1970 e i database relazionali come MySQL, Oracle Database, Microsoft SQL Server, PostgreSQLe SAP Sybase utilizza lo standard ANSI SQL come base.

Come utilizzare SQL

Si esegue un'istruzione SQL scrivendo un'istruzione che specifica l'operazione, la tabella di destinazione e le eventuali condizioni di filtro. Una query SELECT che restituisce membri con più di 30 anni ha questo aspetto:

SELECT * FROM Members WHERE Age > 30;

La sintassi tra i database è in gran parte simile perché ogni motore principale implementa lo standard ANSI. Alcuni prodotti RDBMS aggiungono dialetti proprietari, ad esempio T-SQL in SQL Server e PL/SQL in Oracle.

Clicchi Qui. se il video non è accessibile

A cosa serve SQL?

Ecco i motivi principali per cui utilizzare SQL:

  • Aiuta gli utenti ad accedere ai dati nel Sistema RDBMS.
  • Ti aiuta a descrivere i dati.
  • Ti consente di definire i dati in un database e manipolare quei dati specifici.
  • Con l'aiuto di SQL, puoi creare ed eliminare database e tabelle.
  • SQL consente di utilizzare funzioni in un database, creare viste e scrivere stored procedure.
  • È possibile impostare autorizzazioni su tabelle, procedure e viste.
  • SQL supporta attività analitiche come la creazione di report, la business intelligence e l'alimentazione di pipeline di machine learning con i dati.

Una breve storia di SQL

Ecco alcuni punti di riferimento importanti della storia di SQL:

  • 1970 – Il Dr. Edgar F. “Ted” Codd descrive un modello relazionale per i database.
  • 1974 – Il linguaggio di interrogazione strutturato è apparso a IBM Ricerca.
  • 1978 - IBM rilasciato System/R.
  • 1986 – L'ANSI ha standardizzato SQL come SQL-86.
  • 1989 – Viene pubblicata la prima versione commerciale dello standard SQL.
  • 1999 – SQL:1999 ha introdotto i trigger e le funzionalità orientate agli oggetti.
  • SQL:2003 – Funzioni finestra e caratteristiche XML.
  • SQL:2006 – Supporto per il linguaggio di query XML.
  • SQL:2011 – Supporto per database temporali.
  • SQL:2016 – JSON, riconoscimento di pattern di riga, funzioni di tabella polimorfiche.
  • SQL:2023 – Query sui grafi di proprietà (SQL/PGQ) e gestione più rigorosa del JSON.

Tipi di istruzioni SQL

Ecco cinque tipi di istruzioni SQL di uso comune:

  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)
  • Linguaggio di controllo delle transazioni (TCL)
  • Linguaggio query dati (DQL)

Elenco dei comandi SQL

Ecco un elenco di alcuni dei più comunemente usati comandi SQL:

  • CREA – definisce la struttura o lo schema del database.
  • INSERT – inserisce dati nelle righe di una tabella.
  • AGGIORNAMENTO – aggiorna i dati esistenti in un database.
  • DELETE – rimuove una o più righe da una tabella.
  • SELEZIONA – seleziona gli attributi che corrispondono alla condizione descritta dalla clausola WHERE.
  • GOCCIA – rimuove tabelle e database.
  • MERGE – Esegue un'operazione di INSERT o UPDATE in un'unica istruzione in base a una condizione di corrispondenza.

Processo SQL

Quando si esegue un comando SQL, il motore del database analizza l'istruzione, seleziona un piano di esecuzione e lo esegue sul livello di archiviazione.

Le componenti importanti di questo processo sono:

  • Motore di query SQL
  • Motore di ottimizzazione
  • Inviatore di query
  • Motore di query classico

Il motore di query classico gestisce le query non SQL, mentre il motore di query SQL elabora il carico di lavoro strutturato.

Processo SQL
Processo SQL

Standard SQL

SQL copre la creazione, l'eliminazione, il recupero e la modifica di righe di database e il controllo degli accessi. È uno standard ANSI (American National Standards Institute) e ISO e l'edizione corrente è ISO / IEC 9075: 2023, comunemente chiamato SQL:2023. Lo standard è suddiviso in diverse parti:

Parte Descrizione
Parte 1 – SQL/Framework Offre i concetti logici che sono alla base di ogni altra parte.
Parte 2 – SQL/Foundation Definisce la sintassi e la semantica centrali di SQL.
Parte 3 – SQL/CLI Specifica l'interfaccia a livello di chiamata utilizzata da ODBC e driver simili.
Parte 4 – Moduli memorizzati persistenti Procedure memorizzate, routine esterne ed estensioni del linguaggio procedurale a SQL.
Parte 9 – Gestione dei dati esterni Aggiunge sintassi e definizioni che consentono a SQL di accedere a origini dati non SQL, come ad esempio i file.
Parte 10 – Collegamenti del linguaggio degli oggetti Specifica la sintassi e la semantica dell'incorporamento di SQL in Java.
Parte 11 – SQL/Schema Schemi di informazione e definizione.
Parte 13 – SQL/JRT Routine e tipi SQL utilizzando Java linguaggio di programmazione.
Parte 14 – SQL/XML SQL e XML, inclusa l'integrazione con XMLTYPE e XQuery.
Parte 15 – SQL/MDA Fornisce supporto SQL per array multidimensionali.
Parte 16 – SQL/PGQ Aggiunto in SQL:2023 per definire query di grafo di proprietà su tabelle relazionali.

Motori SQL moderni

Ciascun motore implementa la maggior parte dello standard ANSI e aggiunge le proprie estensioni:

  • PostgreSQL 17: Software open source con rigorosa conformità agli standard e ampio supporto JSON.
  • MySQL 8: Molto diffuso nelle applicazioni web; supporta le funzioni delle finestre, le CTE e una modalità di archiviazione dei documenti.
  • Microsoft SQL Server 2022: Motore aziendale con intelligenza di interrogazione e Azure Riflessione sinaptica.
  • Oracle Database 23ai: Combina SQL con la ricerca vettoriale e le viste duali JSON-relazionali.
  • SQLite: Motore leggero basato su file, integrato in app per dispositivi mobili e browser.

Magazzini cloud come Amazon Spostamento verso il rosso, Google BigQuery e Snowflake espongono anche i dialetti ANSI SQL, rendendo il linguaggio portatile da un laptop ad analisi su scala petabyte.

Elementi del linguaggio SQL

Ecco gli elementi importanti del linguaggio SQL:

  • parole chiave: Parole riservate come SELECT, FROM o WHERE che costituiscono ogni istruzione.
  • Identificatori: Nomi degli oggetti del database, come ID utente, tabelle e colonne.
  • Stringhe: Stringhe letterali o espressioni con tipi di dati VARCHAR o CHAR.
  • Espressioni: Formato da costanti, operatori SQL, nomi di colonne e sottoquery.
  • Condizioni di ricerca: Filtra le righe o controlla il flusso delle istruzioni, ad esempio con IF.
  • Valori speciali: Valori come CURRENT_TIMESTAMP utilizzati nelle espressioni e nei valori predefiniti delle colonne.
  • variabili: La maggior parte dei motori supporta variabili locali, globali e a livello di connessione nelle stored procedure.
  • Commenti: I commenti su singola riga (–) e a blocco (/* */) documentano il codice SQL ma non vengono eseguiti.
  • Valore NULL: NULL indica un valore sconosciuto, mancante o non applicabile.

Che cos'è un database in SQL?

A banca dati È una raccolta di tabelle che memorizzano dati strutturati. Una tabella contiene righe (record o tuple) e colonne (attributi).

Ogni colonna memorizza un tipo specifico di informazione, ad esempio nomi, date, importi in dollari o numeri. Le relazioni tra le tabelle sono gestite tramite chiavi primarie e chiavi esterne, ed è proprio questo che rende il database "relazionale".

Cos'è NoSQL?

NoSQL è una categoria di Sistemi di gestione di database la cui caratteristica principale è la non adesione ai concetti relazionali. NoSQL significa "Non solo SQL". La categoria è cresciuta con giganti di Internet come Google, Facebook e Amazonche gestiscono volumi di dati giganteschi.

Quando i database relazionali gestiscono volumi enormi, i tempi di risposta possono rallentare. È possibile "scalare verticalmente" aggiornando l'hardware o "scalare orizzontalmente" distribuendo il carico su più host.

I database NoSQL sono non relazionale negozi progettati per applicazioni web. Non sempre utilizzano SQL o impongono schemi rigorosi e ACID (AtomLe proprietà di icity, consistenza, isolamento e durata non sono sempre garantite, sebbene i sistemi moderni come MongoDB and Cassandra Ora offriamo modalità transazionali configurabili.



Perché ha senso imparare SQL dopo NoSQL

Dato che NoSQL si adatta meglio alla scalabilità orizzontale rispetto ai modelli relazionali, potresti chiederti perché qualcuno dovrebbe ancora imparare SQLI database NoSQL sono specializzati e ideali per grandi insiemi di dati non strutturati, ma la maggior parte delle applicazioni aziendali si basa ancora su database relazionali e sui relativi strumenti.

I database relazionali mantengono i seguenti vantaggi rispetto ai database NoSQL:

  • Un modello maturo di archiviazione e gestione dei dati, fondamentale per gli utenti aziendali.
  • Supporto per le viste, che consente agli utenti di visualizzare solo i dati autorizzati.
  • Supporto per stored procedure che inseriscono la logica di business nel database.
  • Modelli di sicurezza più robusti, controlli di accesso basati sui ruoli e funzionalità di audit.
  • SQL è la lingua franca della Business Intelligence, delle dashboard e degli strumenti di intelligenza artificiale che necessitano di input strutturati.

La domanda di professionisti in grado di gestire database relazionali continua crescentePertanto, imparare le basi di SQL conserva ancora una chiara utilità.

SQL e IA: strumenti di conversione da testo a SQL

SQL è ormai un linguaggio di destinazione per gli assistenti basati sull'intelligenza artificiale. Da testo a SQL Gli strumenti traducono domande in linguaggio naturale, come "mostra i 10 clienti principali del trimestre scorso per fatturato", in codice SQL eseguibile. Le opzioni più diffuse includono: Copilota GitHub, Vanna AI, Microsoft Copilota dentro Azure SQL e Oracle Seleziona l'IA. Prima di eseguire il codice SQL generato sui dati di produzione, verifica sempre la sua correttezza, sicurezza e indicizzazione.

I migliori libri per imparare SQL

Ecco alcuni dei migliori libri su SQL:

  • Tutorial SQL per principianti:

    Questo Tutorial SQL per principianti Il PDF illustra i concetti di base dei database, i comandi MS-SQL e argomenti avanzati come le join SQL.

  • SQL in 10 minuti: Esempi di codice a colori mostrano la struttura delle istruzioni SQL, oltre a scorciatoie e soluzioni già pronte. ACQUISTA ORA
  • Ricettario SQL: Tecniche come l'analisi di una stringa tramite SQL per estrarre caratteri o elementi delimitati. ACQUISTA ORA
  • SQL: The Complete Reference: Tratta le funzioni delle finestre, la trasformazione delle righe in colonne e la trasformazione inversa. ACQUISTA ORA
  • Guida tascabile a SQL: Insegna le funzioni SQL, la sintassi delle espressioni regolari e la conversione dei tipi. ACQUISTA ORA

Per altri libri su SQL – CLICCA QUI

DOMANDE FREQUENTI

SQL sta per Structured Query Language. Si pronuncia sia come le tre lettere "SQL" sia come "See-Quel", un soprannome ereditato dall'originale IBM Prototipo del SEQUEL sviluppato negli anni '1970.

SQL è il linguaggio standardizzato per l'interrogazione dei database relazionali. MySQL è uno dei tanti sistemi di gestione di database che implementano SQL. Altri motori che utilizzano SQL includono PostgreSQL, Microsoft SQL Server, Oracle Databasee SQLite.

Lo standard attuale è ISO/IEC 9075:2023, comunemente chiamato SQL:2023. Ha aggiunto la Parte 16 SQL/PGQ per le query sui grafi di proprietà e ha chiarito la gestione JSON, basandosi sulle funzionalità JSON e sui modelli di riga introdotte in SQL:2016.

Sì. Strumenti Text-to-SQL come Copilota GitHub, Vanna AI, e Microsoft Copilota dentro Azure SQL trasforma i prompt in linguaggio naturale in query. Prima di eseguire il codice SQL generato, è sempre necessario verificarne la correttezza, la sicurezza e l'indicizzazione.

SQL prepara i dati di training: l'ingegneria delle caratteristiche, le join, i filtri e le aggregazioni avvengono tutti nel data warehouse. Motori come Oracle 23ai, BigQuery ML e PostgreSQL Con pgvector ora è possibile eseguire ricerche di similarità vettoriale direttamente in SQL per la generazione di risultati arricchiti.

La maggior parte dei principianti è in grado di scrivere istruzioni SELECT, INSERT, UPDATE e DELETE di base dopo due o tre settimane di pratica mirata. Per raggiungere un livello intermedio con join, subquery, funzioni finestra e ottimizzazione delle query, in genere occorrono alcuni mesi di lavoro pratico costante.

Riassumi questo post con: