Директориум за статии
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)
Избришете, додајте или изменете ги полињата на табелата
Следната команда ја користи командата ALTER со клаузулата DROP за да ја испушти i колоната од табелата создадена погоре:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP не може да се користи за бришење поле ако останало само едно поле во табелата со податоци.
Клаузулата ADD се користи во MySQL за додавање колони во табелата со податоци.Следниот пример го додава полето 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)
Ако треба да ја наведете локацијата на новото поле, можете да го користите клучниот збор FIRST обезбеден од 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, кои ќе ги претставиме во следните поглавја.
менуваат други употреби
Изменете го моторот за складирање: изменете го во myisam
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;
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „MySQL измени додаде за зголемување на повеќе позиции на полиња? Детално објаснување за употребата на Изјавата за промена на колоната“ е од помош за вас.
Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-495.html
Добредојдовте на Телеграмскиот канал на блогот на Чен Веилијанг за да ги добиете најновите ажурирања!
📚 Овој водич содржи огромна вредност, 🌟Ова е ретка можност, не ја пропуштајте! ⏰⌛💨
Споделете и лајкнете ако ви се допаѓа!
Вашето споделување и лајкови се наша континуирана мотивација!