Понекад име наше колоне нема смисла, па је потребно преименовати или променити име колоне. МиСКЛ пружа корисну синтаксу која може преименовати једну или више колона у табели. Неколико привилегија је неопходно пре преименовања колоне, као што су привилегије наредбе АЛТЕР и ДРОП.
МиСКЛ може преименовати име колоне на два начина:
- Коришћење наредбе ЦХАНГЕ
- Коришћење наредбе РЕНАМЕ
Коришћење изјаве ЦХАНГЕ:
Следеће је синтакса која илуструје преименовање колоне помоћу наредбе ЦХАНГЕ:
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type;
У овој синтакси можемо видети да ће можда бити потребно поново специфицирање свих атрибута колоне. Ова синтакса нам такође може омогућити да променимо типове података колоне. Али, понекад изјава ЦХАНГЕ може имати следеће недостатке:
- Све информације о атрибутима колоне можда неће бити доступне апликацији за преименовање.
- Постоји ризик од случајне промене типа података која може довести до губитка података апликације.
Пример
Хајде да разумемо како функционише изјава ЦХАНГЕ МиСКЛ да преименујете колону кроз различите примере. Претпоставимо да имамо табелу са именом баланс који садржи следеће податке:
Из неког разлога, морамо да променимо назив колоне аццоунт_нум заједно са њеним типом података . У том случају прво проверавамо структуру табеле помоћу ОПИШИ изјава како следи:
На овој слици можемо видети да је тип података име колоне аццоунт_нум је инт . И желимо да променимо име ове колоне као рачун бр а њен тип података као инт у варцхар . Дакле, можемо извршити наредбу у наставку да бисмо ово урадили:
mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25);
Након извршења горње команде, можемо је верификовати коришћењем наредбе ДЕСЦРИБЕ поново. На слици испод, назив колоне аццоунт_нум и њен тип података су успешно промењени.
Коришћење изјаве РЕНАМЕ:
Да би уклонио недостатак наредбе ЦХАНГЕ, МиСКЛ је предложио следећу синтаксу која илуструје промену назива колоне помоћу изјаве РЕНАМЕ:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
Пример
Хајде да разумемо како наредба РЕНАМЕ функционише у МиСКЛ-у да промени име колоне кроз различите примере. Претпоставимо да имамо табелу са именом купац који садржи следеће податке:
Претпоставимо да желимо да променимо назив колоне налога са рачун бр без промене његових типова података. То можемо да урадимо извршавањем следеће изјаве:
mysql> ALTER TABLE customer RENAME COLUMN account to account_no;
Након извршења горње команде, можемо је верификовати коришћењем СЕЛЕЦТ опет изјава. На слици испод, назив колоне налога је успешно промењен.
Преименовање више колона
МиСКЛ нам такође омогућава да променимо називе више колона унутар једне изјаве. Ако желимо да преименујемо више назива колона, можемо користити следећу синтаксу:
ALTER TABLE table_name CHANGE old_column_name1 new_column_name1 Data Type, CHANGE old_column_name2 new_column_name2 Data Type, ... ... CHANGE old_column_nameN new_column_nameN Data Type;
ИЛИ
ALTER TABLE table_name RENAME COLUMN old_column_name1 TO new_column_name1, RENAME COLUMN old_column_name2 TO new_column_name2, ... ... RENAME COLUMN old_column_nameN TO new_column_nameN;
Пример
Претпоставимо да желимо да се променимо имена колона ид и цустомер_наме од сто за купце . Да бисмо променили више назива колона у оквиру једне изјаве, можемо користити изјаву на следећи начин:
mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45);
Након извршења горње команде, можемо је верификовати коришћењем наредбе СЕЛЕЦТ поново. На слици испод, ИД назива колоне и цустомер_наме су успешно промењени:
Хајде да поново променимо име колоне која се тренутно мења преко наредбе РЕНАМЕ ЦОЛУМН на следећи начин:
mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name;
Након извршења горње команде, можемо је верификовати коришћењем наредбе ДЕСЦРИБЕ поново. На доњој слици, име колоне цуст_ид и цуст_наме успешно променили:
У овом чланку смо научили увод у МиСКЛ колону РЕНАМЕ и како да променимо име колоне у наведеној табели, заједно са примером упита за боље разумевање.