Mysql: lista dei comandi base

Mysql e console nessun problema
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.
Ma che cos’è un database?
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.
E cosa serve Mysql?
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.
Mysql come accederci via Console: Login
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…


ottobre 31st, 2009 at 11:40
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
gennaio 28th, 2010 at 11:04
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.
gennaio 28th, 2010 at 11:10
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