Directori d'articles
MySQL modificar afegir per augmentar diverses posicions de camp? Explicació detallada de l'ús de la instrucció de columna de modificació
MySQL Ordre ALTER
Quan necessitem modificar el nom de la taula de dades o modificar els camps de la taula de dades, hem d'utilitzar l'ordre MySQL ALTER.
Abans de començar aquest tutorial, creem una taula anomenada: 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)
Suprimir, afegir o modificar camps de taula
L'ordre següent utilitza l'ordre ALTER amb la clàusula DROP per deixar anar la columna i de la taula creada anteriorment:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP no es pot utilitzar per suprimir un camp si només queda un camp a la taula de dades.
La clàusula ADD s'utilitza a MySQL per afegir columnes a la taula de dades. L'exemple següent afegeix el camp i a la taula testalter_tbl i defineix el tipus de dades:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Després d'executar l'ordre anterior, el camp i s'afegeix automàticament al final dels camps de la taula de dades.
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)
Si necessiteu especificar la ubicació del camp nou, podeu utilitzar la paraula clau FIRST proporcionada per MySQL (configuradaPosicionamentprimera columna), AFTER nom del camp (establert després d'un camp).
Proveu la següent instrucció ALTER TABLE i, després de l'execució correcta, utilitzeu SHOW COLUMNS per veure els canvis a l'estructura de la taula:
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;
Les paraules clau FIRST i AFTER només s'utilitzen a la clàusula ADD, de manera que si voleu restablir la posició d'un camp de taula de dades, heu d'utilitzar DROP per eliminar el camp i després ADD per afegir el camp i establir la posició.
Modifiqueu el tipus i el nom del camp
Si necessiteu modificar el tipus i el nom del camp, podeu utilitzar la clàusula MODIFY o CHANGE a l'ordre ALTER.
Per exemple, per canviar el tipus de camp c de CHAR(1) a CHAR(10), executeu l'ordre següent:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Amb la clàusula CHANGE, la sintaxi és molt diferent.Immediatament després de la paraula clau CHANGE hi ha el nom del camp que voleu modificar i, a continuació, especifiqueu el nom i el tipus de camp nous.Proveu l'exemple següent:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Efecte d'ALTER TABLE sobre valors nuls i predeterminats
Quan modifiqueu un camp, podeu especificar si voleu incloure només o si voleu establir un valor predeterminat.
L'exemple següent especifica que el camp j NO és NULL i el valor per defecte és 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Si no establiu un valor predeterminat, MySQL establirà automàticament el camp a NULL per defecte.
Modifica el valor predeterminat del camp
Podeu utilitzar ALTER per canviar el valor predeterminat d'un camp; proveu l'exemple següent:
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)
També podeu utilitzar l'ordre ALTER amb la clàusula DROP per eliminar el valor predeterminat d'un camp, com a l'exemple següent:
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:
La modificació del tipus de taula de dades es pot fer mitjançant l'ordre ALTER i la clàusula TYPE.Proveu l'exemple següent, on canviem el tipus de la taula testalter_tbl a MYISAM:
Nota:Per veure el tipus de taula de dades, podeu utilitzar la instrucció 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)
Modifica el nom de la taula
Si necessiteu modificar el nom de la taula de dades, podeu utilitzar la clàusula RENAME a la instrucció ALTER TABLE per fer-ho.
Proveu l'exemple següent per canviar el nom de la taula de dades testalter_tbl a alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
L'ordre ALTER també es pot utilitzar per crear i eliminar índexs a les taules MySQL, que tractarem en els propers capítols.
alterar altres usos
Modificar el motor d'emmagatzematge: modificar-lo a myisam
alter table tableName engine=myisam;
Elimina la restricció de clau estrangera: keyName és un àlies de clau estrangera
alter table tableName drop foreign key keyName;
La posició relativa del camp modificat: aquí nom1 és el camp que voleu modificar, tipus1 és el tipus original del camp, i podeu triar un de primer i després, que hauria de ser obvi, primer es col·loca primer i després és col·locat després del camp name2
alter table tableName modify name1 type1 first|after name2;
Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartit "MySQL alterar afegir per augmentar diverses posicions de camp? L'explicació detallada de l'ús de la declaració de modificació de la columna" us és útil.
Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-495.html
Benvingut al canal de Telegram del bloc de Chen Weiliang per rebre les últimes actualitzacions!
📚 Aquesta guia té un gran valor, 🌟Aquesta és una oportunitat rara, no la perdis! ⏰⌛💨
Comparteix i m'agrada si t'agrada!
Els vostres likes i compartir són la nostra motivació contínua!