MySQL modifica afegir per augmentar múltiples posicions de camp? Explicació detallada de l'ús de la instrucció de columna de modificació

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!

🔔 Sigues el primer a obtenir la valuosa "Guia d'ús de l'eina de màrqueting de continguts de ChatGPT" al directori principal del canal! 🌟
📚 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!

 

发表 评论

La vostra adreça de correu electrònic no es publicarà. S'utilitzen els camps obligatoris * 标注

desplaçar-se a dalt