questo indirizzo - Luciano De Falco Alfano

Transcript

questo indirizzo - Luciano De Falco Alfano
Appunti di MySql
Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.
Indice generale
avviare la shell mysql......................................................................................................................2
comandi SQL per la gestione del database (DDL)..........................................................................2
visualizzare l'elenco dei database................................................................................................2
Per creare un database:................................................................................................................3
Per eliminare un database:..........................................................................................................3
Per accedere ad un database........................................................................................................3
Per visualizzare l'elenco delle tabelle nel database.....................................................................3
Comandi SQL di gestione tabelle (DDL)........................................................................................3
Per creare una tabella..................................................................................................................3
per visualizzare la struttura della tabella.....................................................................................3
Comandi SQL di manipolazione dati (DML)..................................................................................4
Per inserire dati in tabella............................................................................................................4
per modificare i dati in tabella....................................................................................................4
per aggiungere o togliere colonne...............................................................................................4
Per cancellare una riga................................................................................................................4
Comandi SQL per consultare le tabelle (DQL)...........................................................................5
appunti_mysql
avviare la shell mysql
Installato MySQL, è possibile utilizzare la sua shell comandi. Ad esempio, se esiste l'utente
marco, usiamo il seguente comando in una console:
mysql -u marco -p
Questo comando richiede la password, dopo di che si può cominciare ad usare MySql.
Ricordare:
•
i comandi MySQL terminano con un punto e virgola;
•
i comandi1 non sono sensibili a maiuscole/minuscole; per convenzione si usa scrivere
in maiuscolo i comandi e in minuscolo i vari nomi (database, tabelle, utenti, ...)
comandi SQL per la gestione del database (DDL)
DDL è l'acronimo di Data Definition Language, e indica come strutturare i dati, in particolare
database, schemi, tabelle, viste.
MySQL organizza le informazioni in database. Ogni database è formato da tabelle.
visualizzare l'elenco dei database
Si può visualizzare l'elenco dei database con il comando
SHOW DATABASES;
ottenendo una risposta del tipo:
+--------------------+
| Database
|
+--------------------+
| information_schema |
| marco
|
| mysql
|
| performance_schema |
| sakila
|
| test
|
| world
|
+--------------------+
1
Attenzione: i soli comandi non sono sensibili al maiuscolo/minuscolo. Invece i nomi degli oggetti lo sono. Una
tabella di nome fiumi, non è FIUMI, e neanche Fiumi.
Pag.2 di 5
Per creare un database:
CREATE DATABASE database_name;
Per eliminare un database:
DROP DATABASE database_name;
Per accedere ad un database
USE database_name;
Per visualizzare l'elenco delle tabelle nel database
SHOW tables;
Comandi SQL di gestione tabelle (DDL).
Per creare una tabella
Si usa il comando SQL CREATE TABLE:
CREATE TABLE personaggio (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome
VARCHAR(50),
cibo
VARCHAR(60),
sesso CHAR(1),
comparsa DATE
);
Questo crea una tabella, vuota, di nome personaggio, in cui ogni record (riga) è formata dai
seguenti campi (colonne):
•
id,
un numero intero, per identificare la riga (chiave primaria, si assegna e incrementa
da solo, non può essere nullo);
•
nome
•
cibo
•
comparsa,
(del personaggio), un gruppo di caratteri, a lunghezza variabile, al max lungo 50;
(preferito del personaggio), anche questo un gruppo di caratteri al massimo
lungo 60;
la data di nascita del personaggio; le date sono scritte nel formato
yyyy-mm-dd, ovvero: anno-mese-giorno; ad esempio 2015-06-15.
per visualizzare la struttura della tabella
si usa il comando
DESCRIBE nome_tabella;
che ha la seguente uscita:
Pag.3 di 5
+----------+-------------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+----------+-------------+------+-----+---------+----------------+
| id
| int(11)
| NO
| PRI | NULL
| auto_increment |
| nome
| varchar(50) | YES |
| NULL
|
|
| cibo
| varchar(60) | YES |
| NULL
|
|
| sesso
| char(1)
| YES |
| NULL
|
|
| comparsa | date
| YES |
| NULL
|
|
+----------+-------------+------+-----+---------+----------------+
Comandi SQL di manipolazione dati (DML)
DML indica Data Manipulation Language: inserimento, modifica e cancellazione dei dati
nelle tabelle.
Per inserire dati in tabella
Il seguente comando inserisce una nuova riga nella tabella personaggio:
INSERT INTO `personaggio` (`id`,`nome`,`cibo`,`sesso`,`comparsa`) VALUES
(NULL, "geronimo stilton", "groviera","M", '2000-01-01');
per modificare i dati in tabella
Nella riga inserita, cambiamo il cibo da groviera ad emmenthal.
UPDATE `personaggio`
SET `cibo`='emmenthal'
WHERE `personaggio`.`nome` ='geronimo stilton';
Notiamo che individuiamo il record su cui fare la modifica utilizzando la clausola WHERE in
cui specifichiamo che cerchiamo un personaggio di nome geronimo stilton.
per aggiungere o togliere colonne
Aggiunge la colonna email dopo la colonna nome:
ALTER TABLE personaggio ADD email VARCHAR(40) AFTER nome;
Se non si indica una colonna di riferimento, la nuova colonna viene aggiunta in coda alle altre
già esistenti.
Cancella la nuova colonna:
ALTER TABLE personaggio DROP email;
Per cancellare una riga
Si usa il comando DELETE:
DELETE FROM table_name WHERE column_name=field_text;
Ad esempio, per cancellare la riga di geronimo stilton:
Pag.4 di 5
DELETE FROM personaggio WHERE nome='geronimo stilton';
Comandi SQL per consultare le tabelle (DQL)
DQL è l'acronimo di Data Query Language.
Il comando principale è SELECT:
SELECT nome_campo1, nome_campo2, . . .
FROM nome_tabella
WHERE campo1=valore;
Ad esempio, supponendo di non avere eseguito la delete del paragrafo precedente:
mysql> SELECT nome, cibo, comparsa FROM personaggio WHERE nome='geronimo
stilton';
Otteniamo:
+------------------+----------+------------+
| nome
| cibo
| comparsa
|
+------------------+----------+------------+
| geronimo stilton | groviera | 2000-01-01 |
+------------------+----------+------------+
Pag.5 di 5