
Nella vostra carriera di programmatori o semplicemente se siete dei neo webmaster vi capitera’ sicuramente di dover mettere mano al vostro database mysql per gestire le tabelle e i dati salvati.
Un database, tradotto in italiano banca dati, e’ un archivio in cui vengono salvati dei dati. Questi dati vengono quindi gestiti e organizzati attraverso delle tabelle. Per ogni tabella vi sono dei campi divisi in riga e colonna che contengono valore e descrizione degli oggetti salvati. Per capire meglio si puo’ pensare a un database come un’agenda telefonica pagine bianche. Ogni tabella( che a sua volta e’ divisa per righe e colonne) sara’ il nostro Paese/Comune, mentre i campi con i dati saranno il nome, congnome, via e numero di telefono.
Mysql, e’ un DBMS ( database Management System ), e si occupa di gestire piu’ tabelle e campi contemporaneamente attraverso un proprio linguaggio chiamato SQL. Mysql e’ composto da un lato Client e uno Server . Il client avra’ la funziona di modificare, cancellare o inserire nuovi campi e tabelle, mentre il server esegue le funzioni precedenti salvando i risultati nel suo Hard Disk. Mysql si puo’ trovare sia per sistemi operativi Windows che Linux, ma prevalentemente e’ utlizzato per O.S. Linux/Unix.
Prima di compiere qualsiasi operazione consigliere di fare un backup al vosto database andado ad eseguere da console:
khaoss@articoli-gratis:~$ mysqldump –opt –all-databases > backup.sql
Mysql protegge i suoi dati attraverso un protocollo cifrato. Occorre quindi avere username e password per accedervi. Per loggare da console linux, sul server mysql, andremo a digitare:
khaoss@articoli-gratis:~$ mysql -h hostname -u nome_utente -p [INVIO]
Una volta dato invio e inserita la password ci troveremo dentro la console di mysql e visualizzermo:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.0.51a-3ubuntu5.4 (Ubuntu)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql >
Ecco la lista dei comandi base di mysql:
Ottenere un elenco di tutti i database contenuti in mysql :
mysql > show databases;
Creare un database:
mysql > create nome_database;
Selezionare uno specifico database per future operazioni:
mysql > use nome_database ;
Creare una tabella ( dopo aver selezionato il db )
mysql > create table nome_tabella( nome_campo1 tipo_dato1 , nome_campo2 tipo_dato2 ) ;
NB: i tipi possono essere : ID per le key, VARCHAR(lunghezza) per le stringhe, INT per gli interi, DATE per le date e cosi’ via.
Ottenere un elenco di tutte le tabelle di un determinato database : prima va selezionato il db.
mysql > show tables ;
Avere una descrizione dei campi di una determinata tabella:
mysql > describe nome_tabella ;
Inserire una nuova riga in tabella:
mysql > insert into nome_tabella ( nome_campo1, nome_campo2, … , nome_campoN ) value ( “valore1″,”valore2″,…,”valoreN”);
Aggiornare un campo di una tabella:
mysql > update `nome_tabella` set “nome_campo” = “nuovo_valore” where “nome_campo” = “nome_vecchio” ;
dopo la clausola where e’ possibile aggiungere altre opzioni legandole con and, per esempio:
mysql > update `nome_tabella` set “nome_campo” = “nuovo_valore” where “nome_campo” = “nome_vecchio” and “nome_id” = “id”;
Ottenere elenco di tutto contenuto di una tabella:
mysql > select * from nome_tabella;
Filtrare l’elenco precende visualizzando solo i campi maggiori di un certo valore:
mysql > select * from nome_tabella where nome_campo > valore;
Filtrare l’elenco precende visualizzando solo N campi minori di un certo valore in ordine decrescente:
mysql > select * from `nome_tabella` where “nome_campo” < “valore” group by “nome_campo” order desc limit N;
Contare le righe di una tabella:
mysql > select count(*) from `nome_tabella` ;
Aggiungere una colonna a una tabella esistente:
mysql > alert table nome_tabella add column (nome_campo tipo_campo) after nome_campo_esistente;
Cancellare una colonna a una tabella :
mysql > alert table nome_tabella drop column nome_campo;
Cancellare una riga da una tabella di un determinato valore id:
mysql > delete from nome_tabella where nome_id = valore ;
Cancellare una tabella ( ricordatevi di selezionare prima un db):
mysql > truncate nome_tabella;
Cancellare un database:
mysql > drop nome_database;
Facile no ??
Se avete bisogno di sapere altri comandi particolari non esistate a chiedere lasciandoci un commento. Il nostro programmatore sara’ felice di aiutarvi
Alla prossima…
Per tutti coloro, invece , che non hanno tempo per imparare i comandi mysql segnalo un tool molto utile usato ormai in tutti i sistemi di hosting: phpmyadmin.
E’ un tool gratuito che lo puoi scaricare direttamente da qui:
http://www.phpmyadmin.net/home_page/downloads.php
Una volta scaricato basta unzipparlo nella directory root del server web ( solitamente se usi linux e’ la /var/www ) assicurandito di aver configurato apache con le librerie php mysql.
Per problemi contattateci.
Ciao
Ciao, ho usato la tua pagina come un Bignami dei comandi mysql, ma ad un certo punto mi sono impanicato. In pratica non riuscivo a rimuovere un database. Il comando
DROP ;
mi restituiva l’errore:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1
Io non sono esperto in db e mysql, così, impanicato, ho chiesto in un canale IRC, dove mi hanno detto che il comando corretto è invece:
DROP database ;
ciao.
Avevo usato il formato carattere minore (<) testo carattere (maggiore) per indicare dei parametri, ma sono stati interpretati come tag e come tali resi invisibili…
Correggo quindi il mio post di poco fa riportando nuovamente:
comando errato DROP nomedeldatabase
Errore:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘nomedeldatabase’ at line 1
comando esatto DROP database nomedeldatabase
ciao