Appunti sql

Esso risponde sulla porta TCP 3306.
Si divide in due tipi di comandi:
  1. DDL ? Data definition language (definizione dei dati)
  2. DML ? Data manipulation language (manipolazione dei dati)
Le istruzioni usate per amministrare i database non fanno parte del linguaggio SQL.

Ci si può collegare in due modi:

  1. Gestire direttamente la connessione (scrivere il software);
  2. Usare le librerie (API --> Application properly interface) che permettono di collegarsi direttamente.
DBMS<-----ODBC----->APPLICAZIONE
DBMS ? Database management system
ODBC ? Object database connect ? è un software che ha due facce, una verso il server e una verso l?applicazione.

mysql ? è il comando che permette di connetterci al server.
status ? comando d?amministrazione, serve per controllare lo stato.
show databases; - serve per consultare l?elenco dei database a me permessi.

Alla fine di ogni comando c'è il ; per far identificare al programma che il comando è finito, ma non è elemento di programmazione.

Avremo bisogno di:

  1. Server web apache 1.3
  2. Server RDBMS mysql
  3. Interprete php versione superiore di 4.3 (php ? personal home page, linguaggio di scripting)

Utilizzando il comando netstat an t potremmo verificare le porte TCP in ascolto:
porta 3306 ? mysql
porta 80 ? server apache

Per connettersi ad un pc bisogna scrivere: mysql ?h nomePc
Se poi c'è bisogno di un USER e PASSWORD allora aggiungeremo:
mysql -h nomePc -u nomeUtente -p
e chiederà la password.
Il mysql è un linguaggio case sensitive, perciò bisogna rispettare le maiuscole.
Per cambiare il database in uso bisogna scrivere:
use o connect e il nome del database.
Questi due comandi sono al limite dell'amministrazione, e non fanno parte del sql.

Per convenzione scriveremo:

Il comando per usare la struttura di una tabella è:
CREATE TABLE NomeTabella(campo1 TIPO,campo2 TIPO);
CREATE TABLE Anagrafica(nome CHAR(30),cognome CHAR(20),dataNascita DATE,altezza INT);

Per verificare la dichiarazione della tabella si usa il comando amministrativo: DESCRIBE nomeTabella;

Per inserire si usa il comando DML: INSERT INTO nomeTabella;
Esso ha due sintassi:

  1. INSERT INTO Anagrafica VALUES(v1,v2,v3?,vn) (campo1,campo2,campo3?.campo4);
  2. INSERT INTO Anagrafica (campo1,campo2) VALUES(v1,v2);
    e si possono omettere i campi dove non si inserisce.
Esempio:
INSERT INTO Anagrafica (nome,cognome,dataNascita,altezza) VALUES(?Agostino?,?Carucci?,?aaaa-mm-gg?,187);

Per visualizzare la tabella si usa il comando: SELECT * FROM Anagrafica;

Per cancellare il contenuto:
DELETE FROM Anagrafica;
Per cancellare la struttura della tabella:
DROP TABLE Anagrafica;

Non si può cancellare una sola riga, però inserendo degli attributi si può fare:
DELETE FROM Anagrafica WHERE nome=?Elisa? AND cognome=?Rossi? AND dataNascita=?....? AND altezza=?200?;
Si può fare anche mettendo solo un attributo, ad esempio Elisa, però cancellerà tutte le righe che contengono come nome Elisa.

Per fare una modifica o aggiornamento si usa il comando UPDATE.
Esempio:
UPDATE Anagrafica SET campo=valore WHERE condizione;

Si possono anche visualizzare solo dei campi, facendo:
SELECT nome FROM Anagrafica;
SELECT altezza FROM Anagrafica;
SELECT altezza*2 FROM Anagrafica;
SELECT nome,altezza FROM Anagrafica;
SELECT MAX(altezza) FROM Anagrafica;
SELECT * FROM Anagrafica WHERE altezza>170 AND altezza<180;
Si visualizzano le persone comprese in quel range di altezza.
Si può aggiungere anche ORDER BY e il nome del campo, e quel campo sarà ordinato in modo ascendente, altrimenti bisogna aggiungere dopo il nome DESC e ordinerà in modo discendente.


indietro