MySQL baguhin ang idagdag upang madagdagan ang maramihang mga posisyon sa field? Detalyadong paliwanag sa paggamit ng modify column statement

MySQL baguhin ang idagdag upang madagdagan ang maramihang mga posisyon sa field? Detalyadong paliwanag sa paggamit ng modify column statement

MySQL ALTER command

Kapag kailangan nating baguhin ang pangalan ng talahanayan ng data o baguhin ang mga field ng talahanayan ng data, kailangan nating gamitin ang utos ng MySQL ALTER.

Bago simulan ang tutorial na ito, gumawa tayo ng table na pinangalanang: 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)

Tanggalin, idagdag o baguhin ang mga field ng talahanayan

Ang sumusunod na command ay gumagamit ng ALTER command na may DROP clause para i-drop ang i column ng table na ginawa sa itaas:

mysql> ALTER TABLE testalter_tbl  DROP i;

Ang DROP ay hindi maaaring gamitin upang magtanggal ng isang field kung mayroon lamang isang field na natitira sa talahanayan ng data.

Ang ADD clause ay ginagamit sa MySQL upang magdagdag ng mga column sa data table. Ang sumusunod na halimbawa ay nagdaragdag ng i field sa table testalter_tbl at tinutukoy ang uri ng data:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Pagkatapos isagawa ang utos sa itaas, awtomatikong idinaragdag ang i field sa dulo ng mga field ng talahanayan ng data.

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)

Kung kailangan mong tukuyin ang lokasyon ng bagong field, maaari mong gamitin ang keyword na UNANG ibinigay ng MySQL (setPagpoposisyonunang column), AFTER pangalan ng field (itakda pagkatapos ng isang field).

Subukan ang sumusunod na pahayag ng ALTER TABLE, at pagkatapos ng matagumpay na pagpapatupad, gamitin ang SHOW COLUMNS upang tingnan ang mga pagbabago sa istraktura ng talahanayan:

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;

Ang FIRST at AFTER na mga keyword ay ginagamit lamang sa ADD clause, kaya kung gusto mong i-reset ang posisyon ng field ng data table, kailangan mo munang gamitin ang DROP para tanggalin ang field at pagkatapos ay gamitin ang ADD para idagdag ang field at itakda ang posisyon.


Baguhin ang uri at pangalan ng field

Kung kailangan mong baguhin ang uri at pangalan ng field, maaari mong gamitin ang sugnay na MODIFY o CHANGE sa ALTER command.

Halimbawa, upang baguhin ang uri ng field c mula sa CHAR(1) patungong CHAR(10), isagawa ang sumusunod na command:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

Sa sugnay na CHANGE, ibang-iba ang syntax.Kaagad pagkatapos ng CHANGE keyword ay ang pangalan ng field na gusto mong baguhin, at pagkatapos ay tukuyin ang bagong pangalan at uri ng field.Subukan ang sumusunod na halimbawa:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Epekto ng ALTER TABLE sa Null at Default na Mga Halaga

Kapag binago mo ang isang field, maaari mong tukuyin kung isasama lang o kung magtatakda ng default na halaga.

Ang sumusunod na halimbawa ay tumutukoy na ang field j ay HINDI NULL at ang default na halaga ay 100.

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Kung hindi ka magtatakda ng default na halaga, awtomatikong itatakda ng MySQL ang field sa NULL bilang default.


Baguhin ang default na halaga ng field

Maaari mong gamitin ang ALTER upang baguhin ang default na halaga ng isang field, subukan ang mga sumusunod na halimbawa:

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)

Maaari mo ring gamitin ang ALTER command na may DROP clause upang alisin ang default na halaga ng isang field, tulad ng sa sumusunod na halimbawa:

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:

Ang pagbabago sa uri ng talahanayan ng data ay maaaring gawin gamit ang ALTER command at ang TYPE clause.Subukan ang sumusunod na halimbawa, kung saan binago namin ang uri ng talahanayan na testalter_tbl sa MYISAM:

Paalala:Upang tingnan ang uri ng talahanayan ng data, maaari mong gamitin ang pahayag na 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)

Baguhin ang pangalan ng talahanayan

Kung kailangan mong baguhin ang pangalan ng talahanayan ng data, maaari mong gamitin ang sugnay na RENAME sa pahayag na ALTER TABLE upang magawa ito.

Subukan ang sumusunod na halimbawa upang palitan ang pangalan ng talahanayan ng data na testalter_tbl sa alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Ang utos na ALTER ay maaari ding gamitin upang lumikha at magtanggal ng mga index sa mga talahanayan ng data ng MySQL, na ipakikilala namin sa mga susunod na kabanata.

baguhin ang iba pang gamit

Baguhin ang storage engine: baguhin ito sa myisam

alter table tableName engine=myisam;

Alisin ang hadlang sa foreign key: ang keyName ay isang foreign key alias

alter table tableName drop foreign key keyName;

Ang relatibong posisyon ng binagong patlang: dito name1 ang patlang na babaguhin, ang type1 ay ang orihinal na uri ng patlang, una at pagkatapos ay maaaring mapili, na dapat ay halata, una ay inilagay muna, at pagkatapos ay inilalagay pagkatapos ng pangalan2 patlang

alter table tableName modify name1 type1 first|after name2;

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "MySQL alter add to increase multiple field positions? Ang Detalyadong Paliwanag ng Paggamit ng Pahayag ng Baguhin ang Column" ay nakakatulong sa iyo.

Maligayang pagdating upang ibahagi ang link ng artikulong ito:https://www.chenweiliang.com/cwl-495.html

Upang i-unlock ang higit pang mga nakatagong trick🔑, maligayang pagdating sa aming Telegram channel!

Share and like kung nagustuhan mo! Ang iyong mga pagbabahagi at pag-like ay ang aming patuloy na pagganyak!

 

发表 评论

Ang iyong email address ay hindi maipa-publish. 必填 项 已 用 * Tatak

Mag-scroll sa Tuktok