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