Atharraich MySQL cuir ris gus iomadh suidheachadh làraich àrdachadh? Mìneachadh mionaideach air cleachdadh aithris colbh mion-atharraichte

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;

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Rach gu mhullaich