Articulu Directory
MySQL alter aghjunghje per aumentà parechje pusizioni di campu? Spiegazione dettagliata di l'usu di mudificà a dichjarazione di a colonna
MySQL ALTER cumanda
Quandu avemu bisognu di mudificà u nome di a tabella di dati o mudificà i campi di a tabella di dati, avemu bisognu di usà u cumandimu MySQL ALTER.
Prima di principià stu tutoriale, creamu una tabella chjamata: testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Eliminate, aghjunghje o mudificà i campi di a tabella
U cumandimu seguitu usa u cumandamentu ALTER cù a clause DROP per abbandunà a colonna i di a tabella creata sopra:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP ùn pò micca esse usatu per sguassà un campu s'ellu ci hè solu un campu lasciatu in a tabella di dati.
A clause ADD hè aduprata in MySQL per aghjunghje colonne à a tabella di dati. L'esempiu seguente aghjunghje u campu i à a tavola testalter_tbl è definisce u tipu di dati:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Dopu avè eseguitu u cumandimu sopra, u campu i hè aghjuntu automaticamente à a fine di i campi di a tabella di dati.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Sè avete bisognu di specificà u locu di u novu campu, pudete aduprà a keyword FIRST furnita da MySQL (setPusizionamentuprima colonna), DOPO u nome di u campu (impostu dopu à un campu).
Pruvate a seguente dichjarazione ALTER TABLE, è dopu l'esekzione successu, utilizate SHOW COLUMNS per vede i cambiamenti in a struttura di a tavola:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
I chjavi FIRST è AFTER sò solu aduprati in a clause ADD, perchè se vulete resettate a pusizione di un campu di tabella di dati, avete bisognu di utilizà DROP per sguassà u campu è dopu ADD per aghjunghje u campu è stabilisce a pusizione.
Mudificà u tipu di campu è u nome
Sè avete bisognu di mudificà u tipu di campu è u nome, pudete aduprà a clause MODIFY o CHANGE in u cumandamentu ALTER.
Per esempiu, per cambià u tipu di campu c da CHAR (1) à CHAR (10), eseguite u cumandimu seguente:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Cù a clause CHANGE, a sintassi hè assai diversa.Immediatamente dopu a chjave CHANGE hè u nome di u campu chì vulete mudificà, è poi specifica u novu nome di campu è u tipu.Pruvate u seguente esempiu:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Effettu di ALTER TABLE nantu à i valori nulli è predeterminati
Quandu mudificà un campu, pudete specificà s'ellu include solu o se stabilisce un valore predeterminatu.
L'esempiu seguente specifica chì u campu j NON hè NULL è u valore predeterminatu hè 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Se ùn stabilisce micca un valore predeterminatu, MySQL stabiliscerà automaticamente u campu à NULL per automaticamente.
Mudificà u valore predeterminatu di u campu
Pudete aduprà ALTER per cambià u valore predeterminatu di un campu, pruvate l'esempii seguenti:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Pudete ancu aduprà u cumandamentu ALTER cù a clause DROP per sguassà u valore predeterminatu di un campu, cum'è in l'esempiu seguente:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
A mudificazione di u tipu di tabella di dati pò esse fatta cù u cumandamentu ALTER è a clause TYPE.Pruvate l'esempiu seguente, induve cambiamu u tipu di a tabella testalter_tbl à MYISAM:
Nota:Per vede u tipu di tabella di dati, pudete aduprà a dichjarazione SHOW TABLE STATUS.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
Mudificà u nome di a tavola
Sè avete bisognu di mudificà u nome di a tabella di dati, pudete aduprà a clause RENAME in a dichjarazione ALTER TABLE per fà.
Pruvate l'esempiu seguente per rinominà a tabella di dati testalter_tbl à alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
U cumandamentu ALTER pò ancu esse usatu per creà è sguassate l'indici nantu à e tavule di dati MySQL, chì avemu da intruduce in i prossimi capituli.
cambià altri usi
Mudificà u mutore di almacenamiento: mudificà lu in myisam
alter table tableName engine=myisam;
Eliminate a limitazione di chjave straniera: keyName hè un alias di chjave straniera
alter table tableName drop foreign key keyName;
A pusizioni relative di u campu mudificatu: quì name1 hè u campu chì vulete mudificà, type1 hè u tipu originale di u campu, è pudete sceglie unu di u primu è dopu, chì deve esse ovvi, u primu hè postu prima, è dopu hè. postu dopu à u campu name2
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) spartutu "MySQL alter aghjunghje per aumentà parechje pusizioni di campu? Spiegazione Dettagliata di l'Usu di a Dichjarazione di a Colonna Modify" hè utile per voi.
Benvenuti à sparte u ligame di stu articulu:https://www.chenweiliang.com/cwl-495.html
Benvenuti à u canali Telegram di u blog di Chen Weiliang per avè l'ultime aghjurnamenti!
📚 Questa guida cuntene un valore enormu, 🌟Questa hè una rara opportunità, ùn mancate micca! ⏰⌛💨
Condividi è mi piace se ti piace!
A vostra spartera è Mi piace sò a nostra motivazione cuntinua!