Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 12 del 03/05/2007 06.54.47

Nascondi questo messaggio

BR

ATTENZIONE! BRBR Questa pagina è in revisione!

BR BR

Introduzione

attachment:logo.gif

MySql è il più diffuso database Open Source basato sul linguaggio SQL. Questo prodotto viene fornito dall'azienda MySQL AB che eroga servizi basati sullo stesso MySql.

Un database è un insieme strutturato di dati, dalla lista della spesa, all'elenco dei titoli presenti in una grossa libreria. MySql si occupa della strutturazione e della gestione a basso livello dei dati stessi, in modo da velocizzarne l'accesso, la modifica e l'inserimento di nuovi elementi. L'acronimo RDBMS significa "Relational Data-Base Management System" e sta ad indicare che MySql offre la possibilità di conservare i dati non in un enorme store-room ma in diverse tabelle, in modo di velocizzarne l'accesso. L'acronimo SQL significa Structured Query Language ed indica il linguaggio standard per le interrogazione delle basi di dati.

La presente guida spiega l'uso delle funzioni principali di MySql. Alla fine di questo documento è possibile trovare i riferimenti alla documentazione ufficiale e ad alcune delle guide presenti in rete.

Installazione

Per installare MySql è necessario installare i pacchetti mysql-server e mysql-admin, reperibile dai [:Repository:repository] ufficiali, con uno fra i vari strumenti messi a disposizione dal sistema: [:SynapticHowto:Synaptic], [:AdeptHowTo:Adept] e [:Apt:apt-get].

Gestione degli utenti

Assegnare una password a root

Ad installazione ultimata, l'utente root potrà accedere senza password: sarà dunque necessario assegnargliene una quanto prima.

Per impostare la password di amministrazione è sufficiente lanciare il seguente comando:

mysqladmin –u root -p pwd

Immagine(Icone/Piccole/note.png,,center)

La dicitura «pwd» va sostituita con la password desiderata.

Tramite il seguente comando. è possibile cambiare la password di amministrazione in qualsiasi momento:

mysqladmin –u root password nuova-pwd

La dicitura «nuova-pwd» va sostituita con la nuova password desiderata. Dopo la pressione del tasto «Invio» verrà richiesta la vecchia password: se inserita correttamente i cambiamenti avranno effetto.

Connettessione al database

Lanciare il seguente comando da terminale:

mysql -h indirizzo_host -u nome_utente -p

Le diciutre «indirizzo_host» e «nome_utente» vanno sostituita con l'IP del server il proprio nome utente per l'accesso.

MySql chiederà la password relativa all'utente inserito, dovrebbe apparire un messaggio simile al seguente:

Enter password:

Una volta inserita correttamente la password richiesta il client restituirà un output simile al seguente:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 5.0.22-Debian_0ubuntu6.06-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Da questo momento la connessione è stabilita ed è dunque possibile digitare comandi da inviare al server.

Creare un nuovo utente

Il comando GRANT permette allo stesso tempo di creare un utente e di assegnargli dei permessi specifici:

GRANT <istruzioni_consentite>
ON <database>.<tabella>
TO <utente>
IDENTIFIED BY <password>;

La sintassi qui proposta è molto semplice: BR istruzioni_consentite è una lista di istruzioni di SQL che si vogliono permettere all'utente (CREATE, SELECT, UPDATE, DELETE, ALTER, EXECUTE, ecc..). Se si vuole dare all'utente permessi completi si può utilizzare la parola chiave ALL. BR database E' il nome del database che stiamo prendendo in considerazione. BR tabella Inserendo il nome di una tabella, si fa riferimento solo ad essa. Per tutte le altre tabelle non varranno le regole che stiamo specificando. Se si vuole fare riferimento a tutte le tabella si può utilizzare il carattere asterisco (*). BR utente Specifica il nome dell'utente che vogliamo creare. BR password Specifica la password associata all'utente che stiamo creando. La password va scritta in chiaro. BR

Ad esempio, consentire all'utente "tizio" di eseguire interrogazioni (SELECT), aggiornamenti (UPDATE), eliminazioni (DELETE) sul database "miodatabase", diamo il seguente comando:

GRANT SELECT,UPDATE,DELETE ON miodatabase.* TO tizio@localhost IDENTIFIED BY 'miapasswd';

Abbiamo concesso all'utente "tizio" la possibilità di agire sul data-base collegandosi da "localhost" (la macchina locale del database server). BR

Vediamo infine l'istruzione REVOKE che svolge la funzione opposta a GRANT, e cioè rimuovere permessi. Ne vediamo solo la sintassi in quanto molto simile all'istruzione GRANT:

REVOKE <istruzioni_revocate> ON <database>.<tabella> FROM <utente>;

per la quale valgono le stesse regole sopra viste per la GRANT. BR

Gestione dei database

Vedere l'elenco dei database esistenti

Lavori in corso: portate pazienza...

Dopo essersi connessi a MySql, sarà possibile visualizzare l'elenco di tabelle in esso contenute:

SHOW DATABASE;

Ecco il risultato:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dbstinko           |
| mysql              |
+--------------------+
4 rows in set (0.00 sec)

mysql>

Nota: tutte le righe di comando in MySql, finiscono con ";" (punto e virgola)

Selezionare un dadabase

Lavori in corso: portate pazienza...

Ora che sappiamo quali data-base sono presenti, possiamo selezionarne uno su cui lavorare:

USE dbstinko;

Ecco la risposta:

Database changed
mysql>

Probabilmente voi non avrete un data-base "dbstinko"...

Creare un database

Lavori in corso: portate pazienza...

Per creare il data-base "prova" su cui fare i primi test:

CREATE DATABASE prova;

Ecco la risposta:

mysql> create database prova;
Query OK, 1 row affected (0.00 sec)

mysql>

Verifichiamo:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dbstinko           |
| mysql              |
| prova              |
+--------------------+
4 rows in set (0.00 sec)

mysql>

Perfetto... ;-)

Cancellare un database

Per cancellare il database appena creato, usate il comando:

DROP DATABASE prova;

Ecco la risposta:

mysql> drop database prova;
Query OK, 0 rows affected (0.00 sec)

mysql>

Ok, ora ricreatelo... Tornerà utile.

Gestione delle tabelle

Vedere l'elenco delle tabelle del db selezionato

Lavori in corso: portate pazienza...

Selezionare una tabella

Lavori in corso: portate pazienza...

Creare una tabella

Lavori in corso: portate pazienza...

Tipi di campo disponibili

Quelli che seguono sono i tipi di campo disponibili per la creazione dei nostri database. BR TINYINT Valore numerico compreso tra -128 e 127 BR TINYINT UNSIGNED Valore numerico compreso tra 0 e 255 BR SMALLINT Valore numerico compreso tra -32768 e 32767 BR SMALLINT UNSIGNED Valore numerico compreso tra 0 e 65535 BR MEDIUM Valore numerico compreso tra -8388608 e 8388607 BR MEDIUM UNSIGNED Valore numerico compreso tra 0 e 16777215 BR INT o INTEGER Valore numerico compreso tra -2147483648 e 2147483647 BR INT UNSIGNED Valore numerico compreso tra 0 e 4294967295 BR BIGINT Valore numerico compreso tra -9223372036854775808 e 9223372036854775807 BR BIGINT UNSIGNED Valore numerico compreso tra 0 e 18446744073709551615 BR FLOAT (m,d) Valore numerico con valori decimali. Compreso tra -3.402823466E+38 e -1.175494351E-38 BR DOUBLE(m,d) o REAL(m,d) Valore numerico con valori decimali. Compreso tra -1.7976931348623157E+308 e -2.2250738585072014E-308 BR DECIMAL (m,d) o NUMERIC(m,d) Valore numerico con decimali che sarà memorizzato come una serie di caratteri BR DATE Campo contenente una data in formato "aaaa-mm-gg" BR DATETIME Campo contenente la data e ora, informato "aaaa-mm-gg hh:mm:ss" BR TIME Campo contente un’ora nel formato: "hh:mm:ss" BR CHAR Campo contenente una stringa di caratteri che può avere la massina lughezza di 255 BR TINYBLOB o TINYTEXT Campo che può avere la massima lunghezza di 255 in formato binario nel primo caso o testo nel secondo BR BLOB o TEXT Campo che può avere la massima lunghezza di 65535 in formato binario nel primo caso o testo nel secondo BR MEDIUMBLOB o MEDIUMTEXT Campo che può avere la massima lunghezza di 16777215 in formato binario nel primo caso o testo nel secondo BR LONGBLOB o LONGTEXT Campo che può avere la massima lunghezza di 4294967295 in formato binario nel primo caso o testo nel secondo BR ENUM (‘value1’,’value2’,…) Campo che può contenere uno dei valori presente tra le parentesi BR

Ulteriori risorse

http://www.mysql.com/ BR http://database.html.it/guide/leggi/87/guida-mysql/ BR http://canone.ce.unipr.it/MySQLTutor/Home.htm BR http://database.html.it/guide/leggi/40/guida-linguaggio-sql/ BR


CategoryDaRevisionare