SQL Structured Query Language Parte 1

Database_1

Cos’è SQL?

L’acronimo SQL sta per Structured Query Language e rappresenta il linguaggio attraverso il quale è possibile interagire con i database. SQL comunque non deve essere confuso con un linguaggio di programmazione. Questo infatti non fornisce alcuna funzione di controllo del flusso dei dati, come funzioni, cicli o strutture if-else. SQL viene spesso definito come “linguaggio composto”; questo si suddivide infatti in:

  • DDL (Data Definition Language)
  • DML (Data Manipulation Language)

Il DDL si occupa e comprende tutti quei comandi finalizzati alla definizione dei dati, come creazione e gestione dei database e delle tabelle.

Il DML, invece, comprende tutti quei comandi finalizzati alla manipolazione dei dati come le operazioni di ricerca o di aggiornamento dei dati.

Comandi per la definizione di schemi 

Per schema si intende una singola base di dati. Con SQL si possono creare, cancellare e gestire i data base presenti. Di seguito l’elenco dei comandi appartenenti al DDL

Create database 

Il comando CREATE DATABASE <nome> crea un data base con il nome specificato:

CREATE DATABASE studenti;

Drop database 

Il comando DROP DATABASE<nome> elimina lo schema specificato e tutte le tabelle in esso contenute:

DROP DATABASE studenti;

Comandi per la definizione e gestione delle tabelle 

Come già visto, un data base è costituito da tabelle. Con SQL si possono creare, cancellare e gestire le varie tabelle. Di seguito l’elenco dei comandi seguiti da un semplice esempio.

Create table 

Il comando CREATE TABLE <nome> (<definizione>) crea una tabella con il nome specificato e con la definizione della struttura indicata tra parentesi, dove separati da virgola vengono specificati nome e tipo dei campi.

create table negozio (id NUMERIC, nome VARCHAR(25), citta VARCHAR(25),indirizzo VARCHAR(80), cap VARCHAR(5));

Create table è un comando tutto sommato semplice. Ovviamente è necessario avere idee ben precise di come deve essere la struttura della tabella che si vuole creare e dei campi che questa conterrà. Oltre alla tabella e ai suoi campi bisognerà fare attenzione anche ai tipi di dato specificati.

Rename

Il comando RENAME <vecchio nome tabella> TO <nuovo nome> rinomina la tabella specificata. 

rename copia_negozio to negozio;

Drop table

Il comando DROP TABLE <nome> elimina la tabella con il nome specificato ed il suo eventuale contenuto.

Attenzione a questo comando: drop table elimina fisicamente la tabella specificata, il che non corrisponde ad eliminare il solo contenuto

drop table negozio;

Alter table 

Il comando ALTER TABLE <nome> <comando secondario> modifica la tabella con il nome specificato applicando su di essa il comando indicato.

Con alter table è quindi possibile eseguire una modifica alla struttura della tabella. E’ quindi possibile modificare colonne, campi, chiavi, e nomi.

// Il comando che segue elimina la chiave primaria, precedentemente specificata per la tabella indicata

ALTER TABLE <nome tabella> DROP PRIMARY KEY;

ALTER TABLE libri DROP PRIMARY KEY;

Comandi per la manipolazione dei dati 

Il DML comprende tutti quei comandi di manipolazione dei dati come le operazioni di ricerca o di aggiornamento dei dati. Le operazioni di manipolazione vengono comunemente chiamate query (interrogazione) e si possono suddividere in:

• query di estrazione;
• query di aggiornamento.

Query di estrazione  

Le query di estrazione sono identificate con l’istruzione
SELECT, che è probabilmente l’istruzione più utilizzata dell’sql. Le select permettono di interrogare il nostro data base e di ottenere come risultato tutti i record che soddisfano i nostri criteri di ricerca. Il risultato ottenuto da una query è a tutti gli effetti una tabella, composta quindi da righe e colonne. Le colonne saranno i campi che specificheremo nella select, mentre le righe rappresentano ogni record con le caratteristiche da noi indicate.L’istruzione select può essere molto complessa e può essere composta da più clausole che determinano la complessità dell’interrogazione da effettuare.

Query di aggiornamento 

Le query di aggiornamento sono identificate con le istruzioni INSERT INTO, UPDATE e DELETE e ci permettono di eseguire sul nostro data base operazioni di inserimento, modifica o cancellazione dei dati.

L’istruzione SELECT

Come detto, la SELECT è l’istruzione più utilizzata nell’SQL avendo lo scopo di ricercare e quindi estrarre dei dati da una o più tabelle.

Nella select è inoltre possibile specificare i criteri di selezione, di raggruppamento e di ordinamento.

Partendo dalla tabella sotto riportata vediamo come costruire le varie istruzioni select per estrarre le informazioni

Schermata 2014-03-10 alle 20.21.54

Se si vuole estrarre tutti i campi della tabella si può utilizzare l’operatore asterisco * che ci permette, quindi, di non dover scrivere tutti i campi.

SELECT * FROM persone;

Estrazione di alcuni i campi dalla tabella “persone”

SELECT nome, cognome, email FROM persone

L’operatore COUNT: 

In una query è possibile utilizzare l’operatore count per avere come risultato della ricerca non i singoli valori trovati, ma il numero dei risultati.

Utilizzo dell’operatore COUNT (Considerando la tabella di esempio i valori ritornati dal count per questo tipo di query sarà 6

SELECT COUNT (idPersona) AS Tot FROM persone;

L’operatore SUM: 

A differenza del del count non conteggia, ma somma i valori estratti di un campo numerico

Utilizzo dell’operatore SUM (Considerando la tabella di esempio i valori ritornati dalla sommatoria per questo tipo di query sarà 5441

SELECT SUM(stipendio) as TotStip FROM persone;

 

Related Posts

Swift il nuovo linguaggio di casa Apple: Prima Applicazione

Xcode 6 beta: Le novità

ASP.NET 4.5 E ASP.NET MVC 4.0 IN C# E VB

C++ Il ciclo while

Si prega di attivare i Javascript! / Please turn on Javascript!

Javaskripta ko calu karem! / Bitte schalten Sie Javascript!

S'il vous plaît activer Javascript! / Por favor, active Javascript!

Qing dakai JavaScript! / Qing dakai JavaScript!

Пожалуйста включите JavaScript! / Silakan aktifkan Javascript!