אַרטיקל וועגווייַזער
ווי אזוי קען מען צולייגן קייפל פעלדער ניצנדיק די MySQL `ALTER ALTER ADD` סטעיטמענט? א דעטאלירטע דערקלערונג פון די `MODIUS קאלום` סטעיטמענט.
מיסקל ALTER באַפֿעל
ווען מיר דאַרפֿן צו מאָדיפיצירן די דאַטן טיש נאָמען אָדער מאָדיפיצירן די דאַטן טיש פעלדער, מיר דאַרפֿן צו נוצן די MySQL ALTER באַפֿעל.
איידער איר אָנהייבן דעם טוטאָריאַל, לאָזן אונדז מאַכן אַ טיש מיטן נאָמען: 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)
ויסמעקן, לייגן אָדער מאָדיפיצירן טיש פעלדער
די פאלגענדע באַפֿעל ניצט די ALTER באַפֿעל מיט די DROP פּונקט צו פאַלן די i זייַל פון די טיש באשאפן אויבן:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP קענען ניט זיין געניצט צו ויסמעקן אַ פעלד אויב עס איז בלויז איין פעלד לינקס אין די דאַטן טיש.
די ADD פּונקט איז געניצט אין MySQL צו לייגן שפאלטן צו די דאַטן טיש.
mysql> ALTER TABLE testalter_tbl ADD i INT;
נאָך עקסאַקיוטינג די אויבן באַפֿעל, די i פעלד איז אויטאָמאַטיש צוגעגעבן צו די סוף פון די דאַטן טיש פעלדער.
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)
אויב איר דאַרפט ספּעציפֿיצירן די פּאָזיציע פֿון דעם נײַעם פֿעלד, קענט איר נוצן די שליסל-ווערטער FIRST (געשטעלט צו דער ערשטער קאָלום) און AFTER field_name (געשטעלט צו זײַן נאָך אַ געוויסן פֿעלד) וואָס ווערן צוגעשטעלט דורך MySQL .
פּרוּווט די פאלגענדע ALTER TABLE ויסזאָגונג, און נאָך געראָטן דורכפירונג, נוצן SHOW COLUMNS צו זען די ענדערונגען אין די טיש סטרוקטור:
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;
די FIRST און AFTER טערמינען זענען בלויז געניצט אין די ADD פּונקט, אַזוי אויב איר ווילן צו באַשטעטיק די שטעלע פון אַ דאַטן טיש פעלד, איר דאַרפֿן צו ערשטער נוצן DROP צו ויסמעקן דעם פעלד און דערנאָך נוצן ADD צו לייגן דעם פעלד און שטעלן די שטעלע.
מאָדיפיצירן פעלד טיפּ און נאָמען
אויב איר דאַרפֿן צו מאָדיפיצירן די פעלד טיפּ און נאָמען, איר קענען נוצן די MODIFY אָדער CHANGE פּונקט אין די ALTER באַפֿעל.
פֿאַר בייַשפּיל, צו טוישן דעם טיפּ פון פעלד C פון CHAR (1) צו CHAR (10), ויספירן די פאלגענדע באַפֿעל:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
מיט די CHANGE פּונקט, די סינטאַקס איז זייער אַנדערש.גלייך נאָך די CHANGE קיווערד איז די נאָמען פון די פעלד איר ווילן צו מאָדיפיצירן, און דעמאָלט ספּעציפיצירן די נייַ פעלד נאָמען און טיפּ.פּרוּווט די פאלגענדע בייַשפּיל:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
ווירקונג פון ALTER TABLE אויף נאַל און פעליקייַט וואַלועס
ווען איר מאָדיפיצירן אַ פעלד, איר קענען ספּעציפיצירן צי צו אַרייַננעמען בלויז אָדער צי צו שטעלן אַ פעליקייַט ווערט.
די פאלגענדע ביישפּיל ספּעציפיצירט אַז פעלד j איז נישט NULL און די פעליקייַט ווערט איז 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
אויב איר טאָן ניט שטעלן אַ פעליקייַט ווערט, MySQL וועט אויטאָמאַטיש שטעלן די פעלד צו NULL דורך פעליקייַט.
מאָדיפיצירן פעלד פעליקייַט ווערט
איר קענט נוצן ALTER צו טוישן די פעליקייַט ווערט פון אַ פעלד, פּרוּווט די פאלגענדע ביישפילן:
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)
איר קענט אויך נוצן די ALTER באַפֿעל מיט די DROP פּונקט צו באַזייַטיקן די פעליקייַט ווערט פון אַ פעלד, ווי אין די פאלגענדע בייַשפּיל:
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:
מאָדיפיצירן די דאַטן טיש טיפּ קענען זיין געטאן מיט די ALTER באַפֿעל און די TYPE פּונקט.פּרוּווט די פאלגענדע ביישפּיל, ווו מיר טוישן דעם טיפּ פון די טיש testalter_tbl צו MYISAM:
באַמערקונג: איר קענט ניצן די 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)
מאָדיפיצירן טיש נאָמען
אויב איר דאַרפֿן צו מאָדיפיצירן די נאָמען פון די דאַטן טיש, איר קענען נוצן די RENAME פּונקט אין די ALTER TABLE ויסזאָגונג צו טאָן דאָס.
פּרוּווט די פאלגענדע ביישפּיל צו רענאַמע די דאַטן טיש testalter_tbl צו alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
די ALTER באַפֿעל קענען אויך זיין געוויינט צו שאַפֿן און ויסמעקן ינדעקסיז אויף MySQL דאַטן טישן, וואָס מיר וועלן פאָרשטעלן אין די ווייַטער טשאַפּטערז.
טוישן אנדערע ניצט
מאָדיפיצירן די סטאָרידזש מאָטאָר: מאָדיפיצירן עס צו מייסאַם
alter table tableName engine=myisam;
אַראָפּנעמען פרעמד שליסל קאַנסטריינץ: keyName איז אַ פרעמד שליסל אַליאַס
alter table tableName drop foreign key keyName;
די קאָרעוו שטעלע פון די מאַדאַפייד פעלד: דאָ נאָמען 1 איז די פעלד צו זיין מאַדאַפייד, טיפּ 1 איז דער אָריגינעל טיפּ פון פעלד, ערשטער און נאָך קענען זיין אויסגעקליבן, וואָס זאָל זיין קלאָר ווי דער טאָג, ערשטער איז געשטעלט ערשטער, און נאָך איז געשטעלט נאָך די נאָמען 2 פעלד
alter table tableName modify name1 type1 first|after name2;
האָפענטלעך, דער אַרטיקל "צולייגן קייפל פעלדער צו MySQL ניצן ALTER TABLE? דעטאַלירטע דערקלערונג פון די 'MODIATE COLLECT' סטייטמענט" וואָס איז געטיילט אויף טשען ווייליאַנג'ס בלאָג ( https://www.chenweiliang.com/ ) וועט זיין נוצלעך פֿאַר אײַך.
פילט אייך פריי צו טיילן דעם לינק פון דעם ארטיקל: https://www.chenweiliang.com/cwl-495.html
