ആർട്ടിക്കിൾ ഡയറക്ടറി
MySQL ഒന്നിലധികം ഫീൽഡ് പൊസിഷനുകൾ വർദ്ധിപ്പിക്കാൻ കൂട്ടിച്ചേർക്കണോ? മോഡിഫൈ കോളം സ്റ്റേറ്റ്മെന്റിന്റെ ഉപയോഗത്തെക്കുറിച്ചുള്ള വിശദമായ വിശദീകരണം
MySQL 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)
പട്ടിക ഫീൽഡുകൾ ഇല്ലാതാക്കുക, ചേർക്കുക അല്ലെങ്കിൽ പരിഷ്ക്കരിക്കുക
മുകളിൽ സൃഷ്ടിച്ച പട്ടികയുടെ i കോളം ഡ്രോപ്പ് ചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് DROP ക്ലോസുള്ള ALTER കമാൻഡ് ഉപയോഗിക്കുന്നു:
mysql> ALTER TABLE testalter_tbl DROP i;
ഡാറ്റാ ടേബിളിൽ ഒരു ഫീൽഡ് മാത്രമേ അവശേഷിക്കുന്നുള്ളൂവെങ്കിൽ, ഒരു ഫീൽഡ് ഇല്ലാതാക്കാൻ DROP ഉപയോഗിക്കാനാവില്ല.
ഡാറ്റാ ടേബിളിലേക്ക് നിരകൾ ചേർക്കുന്നതിന് MySQL-ൽ ADD ക്ലോസ് ഉപയോഗിക്കുന്നു. ഇനിപ്പറയുന്ന ഉദാഹരണം i ഫീൽഡ് testalter_tbl പട്ടികയിലേക്ക് ചേർക്കുകയും ഡാറ്റ തരം നിർവചിക്കുകയും ചെയ്യുന്നു:
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)
നിങ്ങൾക്ക് പുതിയ ഫീൽഡിന്റെ സ്ഥാനം വ്യക്തമാക്കണമെങ്കിൽ, നിങ്ങൾക്ക് MySQL (സെറ്റ്) നൽകുന്ന കീവേഡ് FIRST ഉപയോഗിക്കാംസ്ഥാനനിർണ്ണയംആദ്യ നിര), ഫീൽഡ് നാമത്തിന് ശേഷം (ഒരു ഫീൽഡിന് ശേഷം സജ്ജീകരിച്ചിരിക്കുന്നു).
ഇനിപ്പറയുന്ന ALTER TABLE പ്രസ്താവന പരീക്ഷിക്കുക, വിജയകരമായ നിർവ്വഹണത്തിന് ശേഷം, പട്ടിക ഘടനയിലെ മാറ്റങ്ങൾ കാണുന്നതിന് ഷോ കോളങ്ങൾ ഉപയോഗിക്കുക:
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 ഉപയോഗിക്കേണ്ടതുണ്ട്.
ഫീൽഡ് തരവും പേരും പരിഷ്ക്കരിക്കുക
നിങ്ങൾക്ക് ഫീൽഡ് തരവും പേരും പരിഷ്ക്കരിക്കണമെങ്കിൽ, ALTER കമാൻഡിലെ മോഡിഫൈ അല്ലെങ്കിൽ മാറ്റുക എന്ന ക്ലോസ് ഉപയോഗിക്കാം.
ഉദാഹരണത്തിന്, ഫീൽഡ് സിയുടെ തരം 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)
ഇനിപ്പറയുന്ന ഉദാഹരണത്തിലെന്നപോലെ, ഒരു ഫീൽഡിന്റെ ഡിഫോൾട്ട് മൂല്യം നീക്കംചെയ്യുന്നതിന് നിങ്ങൾക്ക് DROP ക്ലോസിനൊപ്പം ALTER കമാൻഡ് ഉപയോഗിക്കാനും കഴിയും:
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-ലേക്ക് മാറ്റുന്നു:
കുറിപ്പ്:ഡാറ്റ പട്ടിക തരം കാണുന്നതിന്, നിങ്ങൾക്ക് ഷോ ടേബിൾ സ്റ്റാറ്റസ് സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കാം.
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)
പട്ടികയുടെ പേര് പരിഷ്കരിക്കുക
നിങ്ങൾക്ക് ഡാറ്റാ ടേബിളിന്റെ പേര് പരിഷ്ക്കരിക്കണമെങ്കിൽ, ALTER TABLE സ്റ്റേറ്റ്മെന്റിലെ RENAME ക്ലോസ് ഉപയോഗിക്കാം.
ഡാറ്റാ പട്ടിക testalter_tbl എന്നതിനെ alter_tbl എന്നാക്കി മാറ്റാൻ ഇനിപ്പറയുന്ന ഉദാഹരണം പരീക്ഷിക്കുക:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
MySQL ഡാറ്റ ടേബിളുകളിൽ സൂചികകൾ സൃഷ്ടിക്കുന്നതിനും ഇല്ലാതാക്കുന്നതിനും ALTER കമാൻഡ് ഉപയോഗിക്കാം, അത് ഞങ്ങൾ അടുത്ത അധ്യായങ്ങളിൽ അവതരിപ്പിക്കും.
മറ്റ് ഉപയോഗങ്ങൾ മാറ്റുക
സ്റ്റോറേജ് എഞ്ചിൻ പരിഷ്ക്കരിക്കുക: മൈസം എന്നാക്കി മാറ്റുക
alter table tableName engine=myisam;
വിദേശ കീ നിയന്ത്രണം നീക്കം ചെയ്യുക: keyName ഒരു വിദേശ കീ അപരനാമമാണ്
alter table tableName drop foreign key keyName;
പരിഷ്ക്കരിച്ച ഫീൽഡിന്റെ ആപേക്ഷിക സ്ഥാനം: ഇവിടെ name1 എന്നത് നിങ്ങൾ പരിഷ്ക്കരിക്കാനാഗ്രഹിക്കുന്ന ഫീൽഡാണ്, ടൈപ്പ്1 എന്നത് ഫീൽഡിന്റെ യഥാർത്ഥ തരമാണ്, നിങ്ങൾക്ക് ആദ്യത്തേതും ശേഷവുമുള്ളതിൽ ഒന്ന് തിരഞ്ഞെടുക്കാം, അത് വ്യക്തമാകണം, ആദ്യം ആദ്യം സ്ഥാപിച്ചത്, അതിനുശേഷമുള്ളത് നെയിം2 ഫീൽഡിന് ശേഷം സ്ഥാപിച്ചു
alter table tableName modify name1 type1 first|after name2;
ഹോപ്പ് ചെൻ വെയ്ലിയാങ് ബ്ലോഗ് ( https://www.chenweiliang.com/ ) പങ്കിട്ടു "ഒന്നിലധികം ഫീൽഡ് സ്ഥാനങ്ങൾ വർദ്ധിപ്പിക്കാൻ MySQL ആൾട്ടർ ചേർക്കുക? മോഡിഫൈ കോളം സ്റ്റേറ്റ്മെന്റിന്റെ ഉപയോഗത്തെക്കുറിച്ചുള്ള വിശദമായ വിശദീകരണം" നിങ്ങൾക്ക് സഹായകരമാണ്.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ സ്വാഗതം:https://www.chenweiliang.com/cwl-495.html
ഏറ്റവും പുതിയ അപ്ഡേറ്റുകൾ ലഭിക്കുന്നതിന് ചെൻ വെയ്ലിയാങ്ങിന്റെ ബ്ലോഗിന്റെ ടെലിഗ്രാം ചാനലിലേക്ക് സ്വാഗതം!
📚 ഈ ഗൈഡിൽ വലിയ മൂല്യമുണ്ട്, 🌟 ഇതൊരു അപൂർവ അവസരമാണ്, ഇത് നഷ്ടപ്പെടുത്തരുത്! ⏰⌛💨
ഇഷ്ടമായാൽ ഷെയർ ചെയ്യുക, ലൈക്ക് ചെയ്യുക!
നിങ്ങളുടെ ഷെയറിംഗും ലൈക്കുകളുമാണ് ഞങ്ങളുടെ തുടർച്ചയായ പ്രചോദനം!