Direttorju tal-Artikoli
Kif iżżid diversi oqsma bl-użu tad-dikjarazzjoni `ALTER ALTER ADD` tal-MySQL ? Spjegazzjoni dettaljata tad-dikjarazzjoni `MODIUS Column`.
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 teħtieġ li tispeċifika l-pożizzjoni tal-qasam il-ġdid, tista' tuża l-kliem kjavi FIRST (issettjat għall -ewwel kolonna) u AFTER field_name (issettjat biex ikun wara ċertu qasam) ipprovduti minn MySQL .
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: Tista' tuża d-dikjarazzjoni SHOW TABLE STATUS biex tiċċekkja t-tip ta' tabella.
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;
Nispera li l-artiklu "Adding Multiple Fields to MySQL using ALTER TABLE? Detailed Explanation of the 'MODIATE COLLECT' Statement" maqsum fuq il -blog ta' Chen Weiliang ( https://www.chenweiliang.com/ ) ikun ta' għajnuna għalik.
Ħossok liberu li taqsam il-link ta' dan l-artiklu: https://www.chenweiliang.com/cwl-495.html
