Direttorju tal-Artikoli
MySQL tbiddel żid biex iżżid pożizzjonijiet multipli fil-qasam? Spjegazzjoni dettaljata tal-użu tad-dikjarazzjoni tal-kolonna tal-modifika
MySQL ALTER kmand
Meta rridu nimmodifikaw l-isem tat-tabella tad-dejta jew nimmodifikaw l-oqsma tat-tabella tad-dejta, irridu nużaw il-kmand ALTER MySQL.
Qabel ma nibdew dan it-tutorja, ejjew l-ewwel noħolqu tabella bl-isem: 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)
Ħassar, żid jew immodifika l-oqsma tat-tabella
Il-kmand li ġej juża l-kmand ALTER u l-klawżola DROP biex iħassar il-qasam i tat-tabella maħluqa hawn fuq:
mysql> ALTER TABLE testalter_tbl DROP i;
Jekk fadal qasam wieħed biss fit-tabella tad-dejta, DROP ma jistax jintuża biex jitħassar il-qasam.
Il-klawżola ADD tintuża fil-MySQL biex iżżid kolonni mat-tabella tad-dejta. L-eżempju li ġej iżid il-qasam i mat-tabella testalter_tbl u jiddefinixxi t-tip tad-dejta:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Wara li tesegwixxi l-kmand ta 'hawn fuq, il-qasam i se jiġi miżjud awtomatikament mat-tmiem tal-qasam tat-tabella tad-dejta.
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)
Jekk għandek bżonn tispeċifika l-post tal-qasam il-ġdid, tista’ tuża l-kelma prinċipali L-EWWEL (settpożizzjoniL-ewwel kolonna), WARA l-isem tal-qasam (issettjat wara ċertu qasam).
Ipprova l-istqarrija ALTER TABLE li ġejja, u wara eżekuzzjoni b'suċċess, uża SHOW COLUMNS biex tara bidliet fl-istruttura tat-tabella:
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;
Il-kliem prinċipali FIRST u WAFTER jintużaw biss fil-klawżola ADD, għalhekk jekk trid tirrisettja l-pożizzjoni ta 'qasam tat-tabella tad-dejta, l-ewwel trid tuża DROP biex tħassar il-qasam u mbagħad tuża ADD biex iżżid il-qasam u ssettja l-pożizzjoni.
Immodifika t-tip u l-isem tal-qasam
Jekk għandek bżonn timmodifika t-tip u l-isem tal-qasam, tista 'tuża l-klawżola MODIFY jew CHANGE fil-kmand ALTER.
Pereżempju, biex tbiddel it-tip ta' qasam c minn CHAR(1) għal CHAR(10), tista' tesegwixxi l-kmand li ġej:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Bil-klawżola CHANGE, is-sintassi hija pjuttost differenti. Wara l-keyword CHANGE, segwi l-isem tal-qasam li trid timmodifika, u mbagħad speċifika l-isem u t-tip tal-qasam il-ġdid. Ipprova l-eżempju li ġej:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Effetti ta 'ALTER TABLE fuq valuri Null u valuri awtomatiċi
Meta timmodifika qasam, tista' tispeċifika jekk għandhiex tinkludih jew jekk tissettjax valur default.
Fl-eżempju li ġej, il-qasam speċifikat j MHUX NULL u l-valur default huwa 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Jekk ma tissettjax valur default, MySQL awtomatikament issettja l-qasam għal NULL b'mod awtomatiku.
Immodifika l-valur default tal-qasam
Tista' tuża ALTER biex timmodifika l-valur default ta' qasam. Ipprova l-eżempju li ġej:
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)
Tista 'wkoll tuża l-kmand ALTER u l-klawżola DROP biex tħassar il-valur default ta' qasam, kif muri fl-eżempju li ġej:
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:
Biex timmodifika t-tip tat-tabella tad-dejta, tista' tuża l-kmand ALTER u l-klawżola TYPE. Ipprova l-eżempju li ġej, aħna nibdlu t-tip ta 'tabella testalter_tbl għal MYISAM:
Nota:Biex tara t-tip ta' tabella tad-dejta, tista' tuża l-istqarrija 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)
Ibdel l-isem tat-tabella
Jekk għandek bżonn timmodifika l-isem tat-tabella tad-dejta, tista' tuża l-klawżola RENAME fid-dikjarazzjoni ALTER TABLE.
Ipprova l-eżempju li ġej biex tibdel l-isem tat-tabella tad-dejta testalter_tbl għal alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Il-kmand ALTER jista' jintuża wkoll biex jinħolqu u jitħassru indiċi fuq it-tabelli tad-dejta MySQL.Se nintroduċu din il-funzjoni fil-kapitolu li jmiss.
jibdel użi oħra
Immodifika l-magna tal-ħażna: immodifikaha għal myisam
alter table tableName engine=myisam;
Ħassar restrizzjonijiet taċ-ċavetta barranija: keyName huwa alias taċ-ċavetta barranija
alter table tableName drop foreign key keyName;
Immodifika l-pożizzjoni relattiva tal-qasam: hawn name1 huwa l-qasam li trid timmodifika, tip1 huwa t-tip oriġinali tal-qasam, agħżel wieħed mill-ewwel u wara, dan għandu jkun ovvju, l-ewwel jitqiegħed l-ewwel, wara jitqiegħed wara l-isem2 qasam
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) maqsuma "MySQL ibiddel żid biex iżżid pożizzjonijiet ta' kamp multipli?" Spjegazzjoni dettaljata tal-użu tad-dikjarazzjoni tal-kolonna modifika" tkun ta' għajnuna għalik.
Merħba biex taqsam il-link ta' dan l-artikolu:https://www.chenweiliang.com/cwl-495.html
Biex tiftaħ aktar tricks moħbija🔑, merħba tingħaqad mal-kanal Telegram tagħna!
Share u like jekk jogħġobkom! L-ishma u l-likes tiegħek huma l-motivazzjoni kontinwa tagħna!