mysql, aiuto!!!

adlunamjovem adlunamjovem@tiscali.it
Mer 8 Ago 2007 12:19:57 CEST


anna stagno ha scritto:
> mi viene il dubbio che tu intenda per linea di comando  il promt di dos....
> e per interfacce grafiche i programmi

dos? Ma non stavamo parlando di linux?

Si esatto per linea di comando io intendo dare a mysql il comando per
modificare la struttura del database.

E' semplicissimo e da quello che ho capito e' proprio quello che fa al
caso tuo.
Sconsiglio vivamente di modificare i files a mano: fallo fare a mysql!

Ecco un esempio di come fare a modificare una colonna portandola da
varchar(30) a varchar(200)

PASSO 1
Apri un terminale e entra i mysql dando questo comando:
mysql --user=root mysql

Ora dovresti essere dentro a mysql.
Ogni comando dovra' avere il punto e virgola alla fine.


PASSO 2
Seleziona che database vuoi usare.

Se conosci il nome del database ti basta digitare:

use nome_database;

dove ovviamente nome_database e' il nome del database.
Se non lo sai o non sei sicura scrivi:

show databases;

e otterrai la lista di tutti i database esistenti sul computer.


PASSO 3
Modifica la colonna in questo modo:

ALTER TABLE nome_tabella CHANGE nome_colonna nome_colonna VARCHAR(200);

Noterai che nome_colonna e' scritto due volte.
Questo perche' il comando che stai usando permette anche di rinominare
una colonna. Visto che vogliamo solo cambiare la sua ampiezza e non
anche il nome, le diamo lo stesso nome e dopo definiamo i nuovi
parametri di quel campo.

Se la colonna in questione ha ALTRI parametri oltre a varchar, li
elenchi dopo, tipo:

ALTER TABLE nome_tabella CHANGE nome_colonna nome_colonna VARCHAR(200)
NOT NULL;

(tutto sulla stessa linea... nelle email va a capo, pero' si capisce)

finito questo esci dando il comando:

quit;


ALTER TABLE e' un comando che non danneggia i dati gia' presenti nella
tabella, per cui la colonna si allarghera' ma i dati che ci sono gia'
non verranno danneggiati.


Se hai problemi fammi sapere  ;)


Claudio


Maggiori informazioni sulla lista glug