Directory artaigil
Ciamar a chuireas tu iomadh raon ris a’ cleachdadh aithris MySQL `ALTER ALTER ADD`? Mìneachadh mionaideach air an aithris `MODIUS CLOSED`.
MySQL ALTER àithne
Nuair a dh'fheumas sinn an t-ainm clàr dàta atharrachadh no na raointean clàr dàta atharrachadh, feumaidh sinn an òrdugh MySQL ALTER a chleachdadh.
Mus tòisich sinn air an oideachadh seo, cruthaichidh sinn clàr leis an t-ainm: 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)
Sguab às, cuir ris no atharraich raointean bùird
Bidh an àithne a leanas a’ cleachdadh an àithne ALTER leis a’ chlàs DROP gus an colbh i den chlàr a chaidh a chruthachadh gu h-àrd a leigeil sìos:
mysql> ALTER TABLE testalter_tbl DROP i;
Chan urrainnear DROP a chleachdadh gus raon a sguabadh às mura h-eil ach aon raon air fhàgail sa chlàr dàta.
Tha an clàs ADD air a chleachdadh ann am MySQL gus colbhan a chur ris a’ chlàr dàta. Tha an eisimpleir a leanas a’ cur an raon i ris a’ chlàr testalter_tbl agus a’ mìneachadh an seòrsa dàta:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Às deidh an àithne gu h-àrd a chuir an gnìomh, thèid an raon i a chuir gu fèin-ghluasadach gu deireadh raointean clàr dàta.
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)
Ma dh’fheumas tu suidheachadh an raoin ùir a shònrachadh, faodaidh tu na prìomh fhaclan FIRST (air an suidheachadh sa chiad cholbh) agus AFTER field_name (air an suidheachadh gus a bhith às dèidh raoin sònraichte) a chleachdadh a tha air an toirt seachad le MySQL .
Feuch an aithris ALTER TABLE a leanas, agus às deidh a chuir gu bàs gu soirbheachail, cleachd SHOW COLUMNS gus na h-atharrachaidhean ann an structar a’ chlàir fhaicinn:
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;
Chan eil na prìomh fhaclan FIRST agus AFTER air an cleachdadh ach anns a’ chlàs ADD, mar sin ma tha thu airson suidheachadh raon clàr dàta ath-shuidheachadh, feumaidh tu DROP a chleachdadh an-toiseach gus an raon a dhubhadh às agus an uairsin ADD a chleachdadh gus an raon a chuir ris agus an suidheachadh a shuidheachadh.
Atharraich seòrsa agus ainm an raoin
Ma dh’ fheumas tu an seòrsa achaidh agus an t-ainm atharrachadh, faodaidh tu an clàs MODIFY no ATHARRACHADH a chleachdadh anns an àithne ALTER.
Mar eisimpleir, gus an seòrsa raon c atharrachadh bho CHAR (1) gu CHAR (10), cuir an gnìomh an òrdugh a leanas:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Leis a’ chlàs ATHARRACHADH, tha an co-chòrdadh gu math eadar-dhealaichte.Dìreach às deidh am prìomh fhacal ATHARRACHADH is e ainm an raoin a tha thu airson atharrachadh, agus an uairsin sònraich an t-ainm raon ùr agus an seòrsa.Feuch an eisimpleir a leanas:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Buaidh ALTER TABLE air Luach Neo-eisimeileach agus Bunasach
Nuair a dh’atharraicheas tu raon, faodaidh tu sònrachadh am bu chòir dhut a bhith a’ toirt a-steach a-mhàin no am bu chòir dhut luach bunaiteach a shuidheachadh.
Tha an eisimpleir a leanas a’ sònrachadh nach eil an raon j NACH NULL agus gur e 100 an luach bunaiteach.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Mura suidhich thu luach bunaiteach, suidhichidh MySQL an raon gu fèin-ghluasadach gu NULL gu bunaiteach.
Atharraich luach bunaiteach an raoin
Faodaidh tu ALTER a chleachdadh gus luach bunaiteach raon atharrachadh, feuch na h-eisimpleirean a leanas:
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)
Faodaidh tu cuideachd an àithne ALTER a chleachdadh leis a’ chlàs DROP gus luach bunaiteach raon a thoirt air falbh, mar a tha san eisimpleir a leanas:
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:
Faodar an seòrsa clàr dàta atharrachadh a’ cleachdadh an àithne ALTER agus an clàs TYPE.Feuch an eisimpleir a leanas, far an atharraich sinn an seòrsa clàr testalter_tbl gu MYISAM:
Nota: Faodaidh tu an aithris SHOW TABLE STATUS a chleachdadh gus seòrsa a’ chlàir a dhearbhadh.
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)
Atharraich ainm clàr
Ma dh’fheumas tu ainm a’ chlàr dàta atharrachadh, faodaidh tu an clàs RENAME anns an aithris ALTER TABLE a chleachdadh gus sin a dhèanamh.
Feuch an eisimpleir a leanas gus an clàr dàta testalter_tbl ath-ainmeachadh gu alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Faodar an àithne ALTER a chleachdadh cuideachd gus clàran-amais a chruthachadh agus a dhubhadh às air clàran dàta MySQL, a bheir sinn a-steach anns na h-ath chaibideilean.
atharraich cleachdaidhean eile
Atharraich an einnsean stòraidh: atharraich e gu myisam
alter table tableName engine=myisam;
Thoir air falbh cuingeachadh iuchrach cèin: tha keyName na alias iuchrach cèin
alter table tableName drop foreign key keyName;
Suidheachadh coimeasach an raoin atharraichte: an seo is e ainm 1 an raon a tha ri atharrachadh, is e seòrsa 1 an seòrsa tùsail den raon, faodar an toiseach agus às deidh a thaghadh, a bu chòir a bhith follaiseach, an toiseach air a chuir an toiseach, agus às deidh sin air a chuir às deidh an ainm2 achadh
alter table tableName modify name1 type1 first|after name2;
Tha mi an dòchas gum bi an t-artaigil "A’ cur iomadh raon ri MySQL le ALTER TABLE? Mìneachadh mionaideach air an aithris ‘MODIATE COLLECT’" a chaidh a cho-roinn air blog Chen Weiliang ( https://www.chenweiliang.com/ ) feumail dhut.
Faodaidh sibh ceangal an artaigil seo a cho-roinn: https://www.chenweiliang.com/cwl-495.html
