SQL parte I

6 03 2008

Introduzione

Il linguaggio SQL è un linguaggio standard adottato nell’uso con i Database. E’ un linguaggio semantico basato su Linguaggio di definizione dei dati, Linguaggio di Modifica dei dati, Linguaggio di Interrogazione dei dati.

La sua sintassi è molto semplice. Per approfondire suntio il discorso precisiamo alcune regole fondamentali:

  • Ogni frase SQL deve terminare con “;”
  • Ogni attributo deve essere preceduto dal nome della tabella nelle operazioni che coinvolgono più tabelle separate dal carattere “.”
  • Ogni stringa e data sono indicati fra all’interno dei caratteri ” ‘ ‘ “
  • Ogni frase SQL può contenere una serie operatori di relazione più l’operatore Like che significa “Simile”. Indicando ad esempio “f*” indica tutte le parole che iniziano con la lettera “f”, ma con una sequenza di caratteri qualsiasi. Con il simbolo “?” indichiamo un solo carattere qualunque. Ad esempio “quadr?” può essere “quadro”, “quadrr”, ecc.
  • Nelle frasi SQL fra parentesi quadre si indica un Input atteso dall’utente durante l’esecuzione delle query
  • Esistono delle funzioni di conteggio COUNT, somma SUM, media AVG, MAX che permette di calcolare il massimo di N valori che permettono di effettuare delle elaborazioni sui dati di tipo matematico.

Tipi di dati di SQL

Il lingauggio SQL ammette diversi tipi di dati citeremo quelli più importanti:

  • Interi piccolissimi ovvero TINYINT fra -127 a +128, o fra 0 e 255 senza segno “UNSIGNED”;
  • Interi piccoli ovvero SMALLINT fra -32767 a + 32768 o fra 0 e 65535 senza segno “UNSIGNED”;
  • Interi grandi INT a 4 byte;
  • Interi Enormi BIGINT a 8 byte;
  • Reali in precisione M,D ovvero FLOAT(M,D) ovvero M cifre intere e D dopo la virgola, o anche REAL(M,D);
  • Decimali in precisione X,Y ovvero DECIMAL(X,Y) cioè quante cifre X sono significative, e quante cifre Y dopo la virgola
  • Stringhe CHAR(n) o VARCHAR(n) ovvero stringhe di lunghezza fissa di n caratteri o di lunghezza massima fino a n caratteri;
  • Stringhe grandi di tipo LONGTEXT, MEDIUMTEXT, BIGTEXT in formato ASCII;
  • Stringhe binarie di tipo BLOB, MEDIUMBLOB, LONGBLOB per immagazinare immagini, file ecc.
  • Date in vari formati: DATE “aaaa-mm-dd”, oppure DATETIME “aaaa-mm-dd hh:mm:ss”;

Definizione Tabelle

In SQL per creare una tabella si usa la frase CREATE TABLE.

La sintassi della CRETE TABLE è:

CREATE TABLE nome tabella (nome campo 1 tipo 1, nome campo 2 tipo 2, nome campo 3 tipo 3, .., nome campo n tipo n,)

Nella dicitura nome campo 1 tipo 1 posso scrivere anche nome campo 1 tipo PRIMARY KEY NOT NULL, per dire che è chiave primaria della tabella, oppure nome campo 1 tipo 1 REFERENCES tabella(nome campo collegato) per collegare due tabelle mediante chiave esterna. SI può anche utilizzare una frase del tipo nome campo 1 tipo 1 DEFAULT valore indicando un valore iniziale per il campo.

Come esempio creiamo una tabella dei conti correnti bancari di una banca si ha:

CREATE TABLE CONTI (COD_CONTO CHAR(10) PRIMARY KEY NOT NULL, INTESTATARIO VARCHAR(50) NOT NULL, DATA_NASCITA DATE NOT NULL DEFAULT ‘1950-01-01’, SALDO DECIMAL(10,2));

Si osservi che il codice conto è chiave primaria con lunghezza fissa di 10 caratteri, mentre l’intestatario ha un campo stringa variabile, la data di nascita ha un valore predefinito, mentre il saldo del conto viene messo in 10 cifre intere e 2 decicmali.

Inserimento dati nelle tabelle

A questa classe appartiene l’istruzione INSERT

La sintassi completa è INSERT INTO nome tabella VALUES (valore campo1, valore campo2, …, valore campoN); con la distinzione che i valori dei campi sono fra apici se stringhe e dati, e che si deve ricordare l’ordine dei campi nella tabella. Infatti la sintassi completa è:

INSERT INTO nome tabella (campo1, campo2, …, campoN) VALUES (valore campo1, valore campo2, …, valor ecampoN);

Supponendo di voler inserire i dati nella tabelle precedente si ha:

INSERT INTO CONTI VALUES (‘000000sp001’, ‘DE RITIS ANTONIO’, ’02/10/1959”, 3000);.

Modifica dei dati

A questa categoria appartengono le istruzioni UPDATE, DELETE, la prima permette di aggiornare dati, la seconda di cancellarli. La sintassi completa è:

UPDATE nome tabella SET nome campo1=valore1, nome campo2=valore, .., nome campoN = valore;

Ovviamente è possibile cambiare anche solo un attributo ad esempio nella tabella conti si vuole impostare il saldo a 5000 euri, allora si ha:

UPDATE CONTI SET saldo=5000;

Per cancellare la tabella si può effettuare la cancellazione completa con DELETE * FROM nome tabella; oppure in modo selettivo con l’istruzione:

DELETE FROM nome tabella WHERE condizione;

Ad esempio è possibile cancellare dalla tabella conti tutti quelli con saldo < 0. In questo caso si ha:

DELETE FROM CONTI WHERE saldo<0;

Istruzioni di modifica struttura alla tabella

Modificare la struttura della tabella è sempre possibile anche se è consigliabile di creare la tabella già con tutti i campi necessari alla soluzione del problema posto. Spesso viene però utilizzata per estendere le tabelle con nuove richieste per la gestione. In questo caso la frase SQL è:

ALTER TABLE nome tabella ADD COLUMN nome campo tipo BEFORE | AFTER nome campo esistente;

Ad esempio aggiungiamo alla tabella CONTI, il campo CODICE FISCALE dopo il cognome si ha:

ALTER TABLE CONTI ADD COLUMN codice_fiscale AFTER cognome;

Per cancellare un campo si ha:

ALTER TABLE nome tabella DROP COLUMN nome campo;.

File di Access rinomina da .txt a .mdb Esercizio pag 93 n 15


Azioni

Information

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




%d blogger cliccano Mi Piace per questo: