Eolaire Eolaire
MySQL athrú add chun suímh réimse iolracha a chur leis? Míniú mionsonraithe ar úsáid an ráitis cholúin mhodhnú
MySQL ALTER ordú
Nuair is gá dúinn ainm an tábla sonraí a mhodhnú nó na réimsí tábla sonraí a mhodhnú, ní mór dúinn an t-ordú MySQL ALTER a úsáid.
Sula dtosaíonn tú ar an rang teagaisc seo, lig dúinn tábla darb ainm: testalter_tbl a chruthú ar dtús.
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)
Scrios, cuir leis nó modhnaigh réimsí tábla
Úsáideann an t-ordú seo a leanas an clásal ordú ALTER agus DROP chun an réimse i den tábla a cruthaíodh thuas a scriosadh:
mysql> ALTER TABLE testalter_tbl DROP i;
Mura bhfuil ach réimse amháin fágtha sa tábla sonraí, ní féidir DROP a úsáid chun an réimse a scriosadh.
Úsáidtear an clásal ADD i MySQL chun colúin a chur leis an tábla sonraí. Cuireann an sampla seo a leanas an réimse i leis an tábla testalter_tbl agus sainmhíníonn sé an cineál sonraí:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Tar éis an t-ordú thuas a fhorghníomhú, cuirfear an réimse i go huathoibríoch go dtí deireadh réimse an tábla sonraí.
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)
Más gá duit suíomh an réimse nua a shonrú, is féidir leat an eochairfhocal CHÉAD (socraighSuíomhAn chéad cholún), TAR ÉIS ainm réimse (a leagtar tar éis réimse áirithe).
Bain triail as an ráiteas ALTER TABLE seo a leanas, agus tar éis é a fheidhmiú go rathúil, bain úsáid as COLÚNANNA TAISPEÁINT chun athruithe ar struchtúr an tábla a fheiceáil:
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;
Ní úsáidtear na heochairfhocail CHÉAD agus AFTER ach amháin sa chlásal ADD, mar sin más mian leat suíomh réimse tábla sonraí a athshocrú, ní mór duit DROP a úsáid ar dtús chun an réimse a scriosadh agus ansin ADD a úsáid chun an réimse a chur leis agus an seasamh a shocrú.
Athraigh cineál agus ainm an réimse
Más gá duit an cineál agus an t-ainm réimse a mhodhnú, is féidir leat an clásal MODIFY or CHANGE a úsáid san ordú ALTER.
Mar shampla, chun an cineál réimse c a athrú ó CHAR(1) go CHAR(10), is féidir leat an t-ordú seo a leanas a rith:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Leis an gclásal ATHRÚ, tá an chomhréir an-difriúil. Tar éis an eochairfhocal CHANGE, lean an t-ainm réimse is mian leat a mhodhnú, agus ansin sonraigh an t-ainm réimse nua agus cineál. Bain triail as an sampla seo a leanas:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Éifeachtaí ALTER TABLE ar luachanna Null agus luachanna réamhshocraithe
Nuair a mhodhnóidh tú réimse, is féidir leat a shonrú cé acu ar cheart é a áireamh nó ar cheart luach réamhshocraithe a shocrú.
Sa sampla seo a leanas, NÍL NÍL an réimse sonraithe j agus is é 100 an luach réamhshocraithe.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Mura socraíonn tú luach réamhshocraithe, socróidh MySQL an réimse go NULL go huathoibríoch de réir réamhshocraithe.
Athraigh luach réamhshocraithe an réimse
Is féidir leat ALTER a úsáid chun luach réamhshocraithe réimse a mhodhnú. Bain triail as an sampla seo 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)
Is féidir leat an clásal ordú ALTER agus DROP a úsáid freisin chun luach réamhshocraithe réimse a scriosadh, mar a thaispeántar sa sampla seo 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:
Chun an cineál tábla sonraí a mhodhnú, is féidir leat an t-ordú ALTER agus an clásal CINEÁL a úsáid. Bain triail as an sampla seo a leanas, athraíonn muid an cineál tábla testalter_tbl go MYISAM:
Tabhair faoi deara:Chun an cineál tábla sonraí a fheiceáil, is féidir leat an ráiteas STÁDAS TAISPEÁINT TÁBLA a úsáid.
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)
Athraigh ainm tábla
Más gá duit ainm an tábla sonraí a mhodhnú, is féidir leat an clásal ATHAINMnigh sa ráiteas ALTER TABLE a úsáid.
Bain triail as an sampla seo a leanas chun an tábla sonraí testalter_tbl a athainmniú go alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Is féidir an t-ordú ALTER a úsáid freisin chun innéacsanna a chruthú agus a scriosadh ar tháblaí sonraí MySQL.Tabharfaimid isteach an fheidhm seo sa chéad chaibidil eile.
úsáidí eile a athrú
Athraigh an t-inneall stórála: modhnaigh go miasam é
alter table tableName engine=myisam;
Scrios srianta eochracha: is ailias eochrach choigríche é keyName
alter table tableName drop foreign key keyName;
Athraigh suíomh coibhneasta an réimse: anseo ainm1 an réimse is mian leat a mhodhnú, is é type1 an cineál bunaidh den réimse, roghnaigh ceann de na chéad agus tar éis, ba chóir go mbeadh sé seo soiléir, cuirtear ar dtús é ar dtús, agus tar éis é a chur i ndiaidh an ainm2 réimse
alter table tableName modify name1 type1 first|after name2;
Tá súil agam Blag Chen Weiliang ( https://www.chenweiliang.com/ ) shared "MySQL alter add to add to add multiple field positions?" Beidh míniú mionsonraithe ar úsáid an ráitis cholúin mionathraithe" ina chuidiú duit.
Fáilte romhat nasc an ailt seo a roinnt:https://www.chenweiliang.com/cwl-495.html
Fáilte chuig cainéal Telegram de bhlag Chen Weiliang chun na nuashonruithe is déanaí a fháil!
📚 Tá luach ollmhór sa treoir seo, 🌟 Seo deis annamh, ná caill é! ⏰⌛💨
Roinnigí agus más maith libh!
Is iad do chomhroinnt agus do thaitin ár spreagadh leanúnach!