Fabio Cirillo's Blog


The world of the programming
Statistiche
  • Views Home Page: 42.978
  • Views Posts: 73.492
  • Views Gallerie: 823
  • n° Posts: 24
  • n° Commenti: 11
Archivio Posts
Anno 2007

Anno 2006

Sql: Le funzioni principali...

Essendo un linguaggio imperativo, SQL o Structured Query language non richiede la specifica di sequenze di operazioni, ma permette di specificare le proprietà logiche delle informazioni ricercate. Esso si divide in tre sottoinsiemi:

•    DDL (Data Definition Language) - permette di creare e cancellare database o di modificarne la struttura
•    DML (Data Manipulation Language) - permette di inserire, cancellare e modificare i dati
•    DCL (Data Control Language) - permette di gestire gli utenti e i permessi

Operatori
Gli operatori, messi a disposizione dal SQL standard si dividono in quattro categorie:
•    Operatori di confronto
•    Operatori aritmetici
•    Operatori condizionali
•    Operatori logici

Operatori di confronto
Gli operatori di confronto servono a determinare uguaglianze e disuguaglianze tra valori e ad effettuare ricerche all'interno dei dati. Di seguito uno schema tabellare:
1.    = Esprime uguaglianza tra due valori
2.    LIKE Esprime somiglianza tra due valori
3.    < Stabilisce se un valore è minore di un altro
4.    > Stabilisce se un valore è maggiore di un altro
5.    <= Stabilisce se un valore è minore o uguale di un altro
6.    >= Stabilisce se un valore è maggiore o uguale di un altro
7.    <> Stabilisce se due valori sono diversi tra loro
8.    BETWEEN Recupera un valore compreso tra due valori
9.    IN Stabilisce se un valore è contenuto in una lista di valori possibili
10.    EXISTS Stabilisce se un determinato record esiste

Operatori aritmetici
Gli operatori aritmetici effettuano calcoli all'interno di una ricerca. Di seguito uno schema tabellare:
1.    + Effettua un'addizione
2.    - Effettua una sottrazione
3.    * Effettua una moltiplicazione
4.    / Effettua una divisione

Operatori condizionali
L'unico operatore condizionale di SQL è WHERE (DOVE) e serve a definire criteri di ricerca mirati. Nei prossimi capitoli lo vedremo spesso in azione.
Operatori logici
Gli operatori logici di SQL sono AND (E), OR (O, OPPURE) e NOT (non); possono essere ripetuti più volte all'interno dell'elenco delle condizioni di ricerca.
L'operatore logico AND, che lega due (o più) condizioni, serve ad indicare alla ricerca di restituire tutte le tuple per le quali le due (o più) condizioni espresse sono tutte vere contemporaneamente.
L'operatore logico OR, che lega due (o più) condizioni, serve ad indicare alla ricerca di restituire tutte le tuple per le quali anche soltanto una delle due (o più) condizioni espresse è vera.
L'operatore NOT inverte il valore ad esso associato: se è vero restituisce un valore falso, mentre se è falso restituisce un valore vero.
L'uso delle parentesi tonde ( ) all'interno dell'elenco delle condizioni di ricerca consente di combinare condizioni differenti utilizzando entrambi i tipi di operatori logici per creare condizioni complesse.
Manipolazione dei dati
DML fornisce i comandi per inserire, modificare, eliminare o leggere i dati all'interno delle tabelle di un database. La struttura di questi dati deve già essere stata definita tramite il DDL. Inoltre, il permesso di accedere a tali dati deve essere assegnato all'utente tramite il DCL.
Select
Col comando select abbiamo la possibilità di estrarre i dati, in modo mirato, dal database.
Sintassi del comando select
SELECT [ ALL | DISTINCT ] elementi_selezione
FROM riferimenti_tabella
[ WHERE espressione_condizionale ][ ORDER BY ];

dove elementi_selezione è l'elenco dei campi da estrarre, riferimenti_tabella è l'elenco delle tabella da cui estrarre i dati, espressione_condizionale rappresenta l'elenco delle condizioni, ovvero dei desiderata dell'interrogazione lista_colonne è la colonna o le colonne che devono essere prese come riferimento per l'ordinamento dei dati in uscita.

Un esempio è il seguente:
SELECT cognome, nome, citta_residenza
FROM utenti
WHERE anni >= 18
ORDER BY citta_residenza

Questa query estrae l'elenco di tutti gli utenti maggiorenni ordinando l'output in base alla città di residenza.
La definizione di select è comunque molto più ampia, prevede molte altre opzioni ma in linea di massima con queste opzioni si compongono la maggior parte delle interrogazioni.

Insert
Il comando insert ha la funzione di inserire i dati nelle tabelle.
Le colonne (o campi) di destinazione dei valori possono essere o meno dichiarate nel comando. Se non vengono dichiarate, è necessario passare al comando un valore per ogni colonna della tabella, rispettando rigorosamente l'ordine delle colonne stesse. Se, invece, le colonne di destinazione vengono dichiarate, è possibile indicare le sole colonne per le quali vengono passati dei valori, purchè vengano inseriti comunque i valori per tutte le colonne not null (che non possono essere nulle) della tabella.
Di per sé il comando insert opera inserendo in tabella una sola riga per volta. È possibile, però, inserire più di una riga "in modo automatico" passando all'insert una serie di righe (o tuple) risultanti da un comando di select, purchè tali righe siano compatibili con le colonne della tabella su cui si inseriscono i dati.

Sintassi del comando insert
•    Insert semplice:
INSERT INTO nome_tabella
VALUES (elenco valori, tutti, rispettando l'ordine dei campi della tabella);
oppure
INSERT INTO nome_tabella (elenco dei campi interessati dall'inserimento)
VALUES (elenco valori, tutti, rispettando l'ordine dei campi dichiarati sopra);

•    Insert mediante select:
INSERT INTO nome_tabella (elenco dei campi interessati dall'inserimento)
SELECT ...;

Update
Il comando update ha la funzione di modificare i dati delle tabelle.
Il nome di ogni campo che deve essere modificato va dichiarato dopo la parola chiave SET e deve essere seguito dal simbolo " = " (uguale) e dal nuovo valore che deve assumere.
È possibile modificare più campi della stessa riga in un unico comando update, separandoli l'uno dall'altro con il simbolo " , " (virgola).
Il comando generico aggiorna tutte le righe della tabella. È possibile restringerne il numero applicando la parola chiave aggiuntiva WHERE, che permette di effettuare una selezione qualitativa delle righe imponendo delle condizioni sui dati presenti nelle righe prima dell'aggiornamento.

Sintassi del comando update
•    Update generico:
UPDATE nome_tavola
SET nome_campo1 = valore1_nuovo,
    nome_campo2 = valore2_nuovo,
    ...;
•    Update con condizione:
UPDATE nome_tavola
SET nome_campo1 = valore1_nuovo,
    nome_campo2 = valore2_nuovo
WHERE nome_campo3 = valore;

Delete
Il comando delete ha la fu
Categoria: SQL
giovedì, 23 feb 2006 Ore. 00.50

Messaggi collegati


Sondaggio
Quanto vi è stato utile questo blog?

Moltissimo
Molto
Normale
Poco
Nulla

Calendario
dicembre 2024
lmmgvsd
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
Ora e Data
Mappa
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003