Понякога името на нашата колона е безсмислено, така че се изисква преименуване или промяна на името на колоната. MySQL предоставя полезен синтаксис, който може да преименува една или повече колони в таблицата. Няколко привилегии са от съществено значение, преди да преименувате колоната, като привилегиите на инструкции ALTER и DROP.
java списък към масив
MySQL може да преименува името на колоната по два начина:
- Използване на израза CHANGE
- Използване на оператора RENAME
Използване на израза CHANGE:
По-долу е синтаксисът, който илюстрира преименуването на колоната с помощта на израза CHANGE:
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type;
В този синтаксис можем да видим, че може да изискваме повторна спецификация на всички атрибути на колоната. Този синтаксис може също да ни позволи да променим типовете данни на колоната. Но понякога операторът CHANGE може да има следните недостатъци:
- Цялата информация за атрибутите на колони може да не е достъпна за приложението за преименуване.
- Съществува риск от случайна промяна на типа данни, която може да доведе до загуба на данни на приложението.
Пример
Нека разберем как работи операторът CHANGE MySQL за преименуване на колона чрез различните примери. Да предположим, че имаме таблица с име баланс който съдържа данните, както следва:
Поради някаква причина трябва да променим име на колона account_num заедно с нейния тип данни . В този случай първо проверяваме структурата на таблицата с помощта на ОПИСВАМ изявление, както следва:
В това изображение можем да видим, че типът данни на името на колоната акаунт_номер е вътр . И ние искаме да променим името на тази колона като account_no и неговия тип данни като int към varchar . По този начин можем да изпълним следния оператор, за да направим това:
mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25);
След като изпълним горната команда, можем да я проверим, като използваме отново израза DESCRIBE. В изображението по-долу името на колоната account_num и нейният тип данни са променени успешно.
Използване на оператора RENAME:
За да премахне недостатъка на оператор CHANGE, MySQL предложи следния синтаксис, който илюстрира промяната на името на колоната с помощта на оператор RENAME:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
Пример
Нека разберем как операторът RENAME работи в MySQL за промяна на името на колоната чрез различните примери. Да предположим, че имаме таблица с име клиент който съдържа следните данни:
Да предположим, че искаме да променим акаунта с името на колоната account_no без да променя типовете си данни. Можем да направим това, като изпълним следния оператор:
mysql> ALTER TABLE customer RENAME COLUMN account to account_no;
След като изпълним горната команда, можем да я проверим, като използваме ИЗБЕРЕТЕ изявление отново. В изображението по-долу акаунтът с име на колона е променен успешно.
низ сравнява с java
Преименуване на множество колони
MySQL също така ни позволява да променяме няколко имена на колони в рамките на един оператор. Ако искаме да преименуваме няколко имена на колони, може да използваме следния синтаксис:
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;
Пример
Да предположим, че искаме да променим имена на колони id и customer_name от клиентска маса . За да променим няколко имена на колони в рамките на един оператор, можем да използваме оператора, както следва:
mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45);
След като изпълним горната команда, можем да я проверим, като използваме отново командата SELECT. В изображението по-долу името на колоната id и customer_name са променени успешно:
Нека отново променим текущо променящото се име на колона чрез оператора RENAME COLUMN, както следва:
mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name;
След като изпълним горната команда, можем да я проверим, като използваме отново израза DESCRIBE. В изображението по-долу, име на колона cust_id и cust_name са променени успешно:
В тази статия научихме въведение в MySQL колоната RENAME и как да променим името на колоната в определена таблица, заедно с пример за заявка за по-добро разбиране.