MySQL alter aghjunghje per aumentà parechje pusizioni di campu? Spiegazione dettagliata di l'usu di mudificà a dichjarazione di a colonna

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!

🔔 Siate u primu à uttene a preziosa "Guida d'Utilisazione di l'Utili di l'AI di Marketing di cuntenutu ChatGPT" in u cartulare di u canali! 🌟
📚 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!

 

发表 评论

U vostru indirizzu email ùn serà micca publicatu. I campi richiesti sò aduprati * Etichetta

scorri in cima