vuoi
o PayPal
tutte le volte che vuoi
Creazione della tabella
Sintassi del comando
CREATE TABLE NOME TABELLA
(NOME CAMPO1 TIPO1 [NOT NULL], NOME
CAMPO2 TIPO2 [NOT NULL],...,NOME
CAMPON TIPO N [NOT NULL], PRIMARY KEY
NOME CAMPO CHIAVE) [ENGINE=INNODB];
NOT NULL indica valore non nullo. PRIMARY
KEY LA CHIAVE PRIMARIA, ENGINE INNODB
dI adottare la gestione delle tabelle mediante
InnoDB. Esempio 1
Creare una tabella conti correnti con i seguenti
● campi:
cod_conto, nome, cognome, saldo, data, tasso di
– interesse:
create table conti_correnti (cod_conto char(10 , nome varchar(25) not
null, cognome varchar(25) not null, saldo decimal(15,3) not null,
data_saldo date not null, tasso decimal(4,2), primary key (cod_conto))
engine=Innodb;
Inserire dei dati nella tabella
INSERT INTO NOME TABELLA VALUES (valore1,
● valore2, ....,valoren);
Notare che è sintassi contratta devo richiamare i campi così
● come sono stati creati;
Le stringhe e le date sono fra apici singoli
● Se non ricordo l'ordine dei campi devo richiamare il comando
● SQL con la sintassi competa:
INSERT INTO NOME TABELLA NOME CAMPO1,..., NOME
CAMPON VALUES (valore1, valore2, ....,valoren);
Esempio 2
inserire i dati di 5 correntisti nella tabella
●
conti_correnti
vediamo per 1 valore:
insert into conti_correnti values ('0001','gennaro','esposito',1234.5,'2008-
05-05',3.895); Esempio 3
Per aggiungere un campo alla tabella
● ALTER TABLE NOME TABELLA ADD NOME
CAMPO1 TIPO 1 [NOT NULL] AFTER |
BEFORE CAMPO ESISTENTE;
Per eliminare un campo dalla tabella
● ALTER TABLE NOME TABELLA DROP NOME
CAMPO1,..., NOME CAMPON;
Per vedere la struttura della tabella
● DESC NOMETABELLA;
Comandi Sql per la manipolazione
dati
Comandi per manipolare date
● Comandi per manipolare stringhe
● Comandi per la manipolazione dei dati numerici
● Comandi per gestire date
Funzione Year restituisce l'anno di una data
● Funzione Month e Day mese e giorno di una data
● Funzione DateDiff Valuta la differenza fra due date ad esempio
● select * from conti_correnti 'where datediff('2008-01-
01',data_saldo) > 30;
Visualizza i dati con data_saldo superiore a 30 giorni.
Funzione Data_Format per convertire la data da un formato ad
● un altro ad esempio
Data_Format('2008-01-03','%W %M %Y') restituisce data in
formato giorno esteso mese anno.
%W indica giorno settimana esteso %w giorno numerico da 1 a
31, %M mese esteso, %m mese numerico.
Funzioni per le stringhe
Funzione Concat per concatenare più stringhe in campi
● Concat(stringa1,stringa2,..,ecc)
Funzione Upper e Lower per conversione da minuscolo a maiuscolo
● e viceversa
Funzione per eliminare spazi Trim, eliminare spazi a sinistra Ltrim e a
● destra Rtrim
Funzione Substring(stringa, inizio, lunghezza) estrae una stringa dal
● carattere indicato come iniziale e di lunghezza indicato
nell'argomento.
Funzione replace rimpiazza una sequenza di caratteri in una stringa
● Replace(stringa,caratteri vecchi,nuovi caratteri)
Funzione Length per la lunghezza di una stringa
● Funzioni di calcolo numerico
Div,Mod divisione e resto intero
● Power (base,esponente) calcola la potenza di
● un numero
Exp, ln,log2, log10 funzioni trascendenti
● Sqrt radice quadrata
● Applicazione delle funzioni
Possono essere applicate come campo
● calcolato o come criterio da valutare
Se descritto come campo calcolato si può
● utilizzare la definizione di alias.
Ad esempio
SELECT NOME CAMPO1, NOMECAMPO2,
...FUNZIONE(NOMECAMPI) AS ALIAS FROM
TABELLA WHERE CRITERIO
Funzioni di aggregazione
Permettono di aggregare i dati secondo uno o
● più criteri
L'espressione generale è:
Select nomecamp1, nomecampo.
funzione_aggregazione(nomecampo) from
tabella where criterio group by nome campo
having criterio.
La differenza fra where e having che la clausola
● where prima li filtra e la clausola having li
raggruppo dopo che sono stati filtrati.
Funzioni di aggregrazione
Count conteggio
● Max e Min massimo e minimo di un campo
● Sum, Avg somma e media dei campi
● Supponiamo di avere la tabella movimenti
cod_mov cod_conto importo data_movimento tipo
1 0001 1000 2008-01-13 assegno
2 0002 -1050 2008-04-13 bonifico
3 0004 -500 2008-04-30 pos
4 0005 5000 2008-01-05 bonifico
5 0002 454 2007-11-03 pos
6 0004 545,25 2007-05-06 assegno