Skip to main content

Introduzione ai concetti fondamentali di SQL

Corso di Programmazione: Impara a programmare da zero | Alberto Olla (Aprile 2025)

Corso di Programmazione: Impara a programmare da zero | Alberto Olla (Aprile 2025)
Anonim

Structured Query Language è uno dei componenti fondamentali della moderna architettura di database. SQL definisce i metodi utilizzati per creare e manipolare i database relazionali su tutte le principali piattaforme. A prima vista, la lingua può sembrare intimidatoria e complessa, ma non è poi così difficile.

Informazioni su SQL

La corretta pronuncia di SQL è un problema di contenzioso all'interno della comunità del database. Nel suo standard SQL, l'American National Standards Institute ha dichiarato che la pronuncia ufficiale è "es queue el." Tuttavia, molti professionisti del database hanno adottato la pronuncia slang "sequel". La scelta è tua.

SQL ha molti gusti. I database Oracle utilizzano il proprio PL / SQL proprietario. Microsoft SQL Server utilizza Transact-SQL. Tutte le varianti sono basate sullo standard ANSI SQL standard del settore. Questa introduzione utilizza comandi SQL ANSI-compatibili che funzionano su qualsiasi sistema di database relazionale moderno.

DDL e DML

I comandi SQL possono essere divisi in due principali sottolinguaggi. Il DDL (Data Definition Language) contiene i comandi utilizzati per creare e distruggere database e oggetti di database. Dopo che la struttura del database è stata definita con DDL, gli amministratori di database e gli utenti possono utilizzare DML (Data Manipulation Language) per inserire, recuperare e modificare i dati contenuti al suo interno.

Comandi del linguaggio di definizione dei dati

Il linguaggio di definizione dei dati viene utilizzato per creare e distruggere database e oggetti di database. Questi comandi vengono utilizzati principalmente dagli amministratori di database durante le fasi di installazione e rimozione di un progetto di database. Ecco una panoramica della struttura e dell'utilizzo di quattro comandi DDL di base:

CREARE.L'installazione di un sistema di gestione del database su un computer consente di creare e gestire molti database indipendenti. Ad esempio, è possibile mantenere un database dei contatti del cliente per il reparto vendite e un database del personale per il reparto risorse umane. Il comando CREATE viene utilizzato per stabilire ciascuno di questi database sulla piattaforma. Ad esempio, il comando:

CREA Dipendenti DATABASE

crea un database vuoto denominato "dipendenti" sul tuo DBMS. Dopo aver creato il database, il passo successivo è creare tabelle contenenti dati. A questo scopo può essere utilizzata un'altra variante del comando CREATE. Il comando:

CREATE TABLE personal_info (first_name char (20) not null, last_name char (20) non null, employee_id int not null)

stabilisce una tabella intitolata "personal_info" nel database corrente. Nell'esempio, la tabella contiene tre attributi: first_name, last_name e employee_id insieme ad alcune informazioni aggiuntive.

USO.Il comando USE consente di specificare il database con cui si desidera lavorare all'interno del proprio DBMS. Ad esempio, se si sta attualmente lavorando nel database delle vendite e si desidera emettere alcuni comandi che interesseranno il database dei dipendenti, premettarli con il seguente comando SQL:

Impiegare dipendenti

È importante essere sempre consapevoli del database su cui si sta lavorando prima di emettere comandi SQL che manipolano i dati.

ALTER.Una volta creata una tabella in un database, potresti voler modificare la sua definizione. Il comando ALTER consente di apportare modifiche alla struttura di una tabella senza eliminarlo e ricrearlo. Dai un'occhiata al seguente comando:

ALTER TABLE personal_info AGGIUNGI salary money null

Questo esempio aggiunge un nuovo attributo alla tabella personal_info: lo stipendio di un dipendente. L'argomento "denaro" specifica che lo stipendio di un dipendente viene memorizzato utilizzando un formato di dollari e centesimi. Infine, la parola chiave "null" dice al database che va bene che questo campo non contenga alcun valore per un dato dipendente.

FAR CADERE.Il comando finale del Data Definition Language, DROP, ci consente di rimuovere interi oggetti del database dal nostro DBMS. Ad esempio, se vogliamo rimuovere permanentemente la tabella personal_info che abbiamo creato, dovremmo usare il seguente comando:

DROP TABLE personal_info

Allo stesso modo, il comando seguente verrebbe utilizzato per rimuovere l'intero database dei dipendenti:

DROP DATABASE dipendenti

Usa questo comando con cura. Il comando DROP rimuove intere strutture di dati dal tuo database. Se si desidera rimuovere singoli record, utilizzare il comando DELETE della lingua di manipolazione dei dati.

Comandi del linguaggio di manipolazione dei dati

Il DML (Data Manipulation Language) viene utilizzato per recuperare, inserire e modificare le informazioni del database. Questi comandi vengono utilizzati da tutti gli utenti del database durante l'operazione di routine del database.

INSERIRE.Il comando INSERT in SQL viene utilizzato per aggiungere record a una tabella esistente. Tornando all'esempio personal_info della sezione precedente, immagina che il nostro reparto risorse umane debba aggiungere un nuovo dipendente al suo database. Potresti usare un comando simile a questo:

INSERISCI IN personal_infovalori ( 'bart', 'Simpson', 12345, $ 45000) È

Si noti che ci sono quattro valori specificati per il record. Questi corrispondono agli attributi della tabella nell'ordine in cui sono stati definiti: first_name, last_name, employee_id e salary.

SELEZIONARE.Il comando SELECT è il comando più utilizzato in SQL. Consente agli utenti di database di recuperare le informazioni specifiche che desiderano da un database operativo. Dai un'occhiata ad alcuni esempi, sempre usando la tabella personal_info dal database dei dipendenti.

Il comando mostrato sotto recupera tutte le informazioni contenute nella tabella personal_info. Si noti che l'asterisco viene utilizzato come carattere jolly in SQL. Questo significa letteralmente "Seleziona tutto dalla tabella personal_info".

SELEZIONADa personal_info

In alternativa, gli utenti potrebbero voler limitare gli attributi che vengono recuperati dal database. Ad esempio, il dipartimento Risorse umane potrebbe richiedere un elenco dei cognomi di tutti i dipendenti dell'azienda. Il seguente comando SQL recupererebbe solo quelle informazioni:

SELECT last_nameDa personal_info

La clausola WHERE può essere utilizzata per limitare i record recuperati a quelli che soddisfano determinati criteri. L'amministratore delegato potrebbe essere interessato a rivedere i registri del personale di tutti i dipendenti altamente retribuiti. Il seguente comando recupera tutti i dati contenuti in personal_info per i record con un valore di stipendio superiore a $ 50.000:

SELEZIONADa personal_infoDOVE stipendio> $ 50000

AGGIORNARE.Il comando UPDATE può essere utilizzato per modificare le informazioni contenute in una tabella, in blocco o singolarmente. Supponiamo che l'azienda dia a tutti i dipendenti un aumento del costo del lavoro del 3% annuo. Il seguente comando SQL potrebbe essere utilizzato per applicare rapidamente questo a tutti i dipendenti memorizzati nel database:

AGGIORNA personal_infoSET salario = salario * 1,03

Quando il nuovo impiegato Bart Simpson dimostra prestazioni al di sopra e al di là del richiamo del dovere, il management desidera riconoscere i suoi risultati stellari con un aumento di $ 5.000. La clausola WHERE potrebbe essere utilizzata per individuare Bart per questo aumento:

AGGIORNA personal_infoSET salario = salario + $ 5000WHERE employee_id = 12345

ELIMINA.Infine, diamo un'occhiata al comando DELETE. Scoprirai che la sintassi di questo comando è simile a quella degli altri comandi DML. Sfortunatamente, il nostro ultimo rapporto sugli utili societari non ha soddisfatto le aspettative e il povero Bart è stato licenziato. Il comando DELETE con una clausola WHERE può essere utilizzato per rimuovere il suo record dalla tabella personal_info:

ELIMINA DA personal_infoWHERE employee_id = 12345

join

Ora che hai imparato le basi di SQL, è il momento di passare a uno dei concetti più potenti che la lingua ha da offrire: la dichiarazione JOIN. Una dichiarazione JOIN consente di combinare i dati in più tabelle per elaborare in modo efficiente grandi quantità di dati. Queste dichiarazioni sono dove risiede il vero potere di un database.

Per esplorare l'uso di un'operazione di JOIN di base per combinare i dati di due tabelle, continuare con l'esempio utilizzando la tabella PERSONAL_INFO e aggiungere una tabella aggiuntiva al mix. Si supponga di avere una tabella denominata DISCIPLINARY_ACTION creata con la seguente istruzione:

CREATE TABLE disciplinary_action (action_id int non null, employee_id int non null, commenti char (500))

Questa tabella contiene i risultati delle azioni disciplinari sui dipendenti della società. Noterai che non contiene alcuna informazione sul dipendente diversa dal numero del dipendente. È facile immaginare molti scenari in cui potresti voler combinare le informazioni delle tabelle DISCIPLINARY_ACTION e PERSONAL_INFO.

Supponiamo che tu sia stato incaricato di creare un rapporto che elenchi le azioni disciplinari adottate contro tutti i dipendenti con uno stipendio superiore a $ 40.000. L'uso di un'operazione JOIN, in questo caso, è semplice. Possiamo recuperare queste informazioni usando il seguente comando:

SELEZIONA personal_info.first_name, personal_info.last_name, disciplinary_action.commentsDa personal_info, disciplinary_actionDOVE personal_info.employee_id = disciplinary_action.employee_idAND personal_info.salary> 40000

Il codice specifica le due tabelle che vogliamo unire alla clausola FROM e quindi include un'istruzione nella clausola WHERE per limitare i risultati ai record con ID dipendenti corrispondenti e soddisfare i nostri criteri di un salario superiore a $ 40.000.