Переименование таблицы БД запросом SQL (RENAME TABLE)
Задача переименовать таблицу в готовой базе данных возникает не часто, но все же случается. Например, при переносе БД или может быть принято решение о переименовании в связи с логикой проекта.
Некоторые СУБД предоставляют функционал, где можно изменить название таблицы специальными формами. Здесь все просто. Но иногда такой возможности нет, и нам на помощь приходят богатые возможности SQL-запросов.
Для обеспечения этой возможности, в SQL имеется команда RENAME TABLE. В общем виде такой запрос выглядит следующим образом:
RENAME TABLE название_таблицы TO новое_название_таблицы
Например, если мы хотим заменить старое название таблицы tovari и дать ей новое имя products, достаточно будет выполнить следующий запрос:
RENAME TABLE tovari TO products
Как переименовать столбец в MySQL? 1 мин для чтения
Главное меню » Базы данных » MySQL » Как переименовать столбец в MySQL?
3 декабря 2021
MySQL — популярная система управления базами данных, которая составляет основу огромной части современного Интернета. MySQL — это СУБД с открытым исходным кодом (система управления реляционными базами данных), разработанная и поддерживаемая Oracle, с моделью клиент-сервер. Он предлагает безопасное хранилище базы данных, высокую производительность и мощные функции.
В этой статье будет показано, как переименовать столбец в MySQL.
Переименование столбца в MySQL
В MySQL база данных обычно состоит из нескольких таблиц, содержащих строки и столбцы, содержащие различные данные. Для демонстрации мы переименуем имя столбца конкретной таблицы.
Для демонстрации я буду использовать этот образец базы данных. Это очень большая база данных, которой должно хватить практически для любой тестовой ситуации. Для удобства мы будем использовать phpMyAdmin для доступа к базе данных и выполнения запросов. Узнайте больше об установке и настройке phpMyAdmin и MySQL.
Базовая структура
Чтобы переименовать столбец, структура запроса будет выглядеть следующим образом.
$ ALTER TABLE CHANGE
Если нужно переименовать несколько столбцов, мы также можем сделать это в одном запросе. В таком случае структура запроса будет выглядеть так.
$ ALTER TABLE CHANGE , CHANGE
В качестве альтернативы, если вы хотите переименовать таблицу, структура запроса будет выглядеть так.
$ RENAME TABLE TO
Вы также можете переименовать несколько таблиц за один раз.
$ RENAME TABLE TO , TO
MySQL также позволяет использовать RENAME между несколькими базами данных.
$ RENAME TABLE . TO .
Переименование столбца таблицы
Давайте посмотрим на пример таблицы базы данных стран.
$ SELECT * from countries;
Из этой таблицы давайте переименуем country_name (varchar (40)) в country_label (varchar (40)). Запрос будет выглядеть примерно так.
$ ALTER TABLE countries CHANGE country_name country_label varchar(40);
$ SHOW COLUMNS FROM countries;
Переименование нескольких столбцов
В следующем примере мы будем переименовывать несколько столбцов в таблице стран. Изменение country_id на COUNTRY_CODE , country_label на COUNTRY_NAME и region_id на регионе-_code.
ALTER TABLE countries CHANGE country_id country_code char(2), CHANGE country_label country_name varchar(40), CHANGE region_id region_code int;
Читать Как узнать, кто блокирует таблицу в MySQL
$ SHOW COLUMNS FROM countries;
Переименование таблиц
Теперь попробуем переименовать таблицу. Мы переименуем таблицу countries в «independent_regions». Во-первых, обратите внимание на текущие имена таблиц.
$ SHOW TABLES;
Выполните следующий запрос, чтобы переименовать целевую таблицу.
$ RENAME TABLE countries TO independent_regions;
$ SHOW TABLES;
Переименование нескольких таблиц
Теперь давайте попробуем изменить имена нескольких таблиц одновременно. Запишите все текущие таблицы.
$ SHOW TABLES;
Затем выполните следующий запрос.
RENAME TABLE countries TO independent_regions, jobs TO assigned_tasks, departments TO sections;
$ SHOW TABLES;
Последние мысли
Поздравляю! Вы успешно переименовали существующий столбец в MySQL. В этой статье также показано переименование существующей таблицы. Как для переименования столбцов, так и для таблиц вам необходимо понимать основы оператора ALTER TABLE.
Каждая таблица MySQL основана на ключевом дизайне. В терминологии MySQL это называется схемой. Он содержит необходимые данные о схеме размещения данных в таблице. В этом руководстве концепция схемы исследуется на практических примерах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
MySQL: добавить столбец в таблицу, как переименовать и изменить поле
![]()
Общий синтаксис команды «ALTER TABLE» выглядит так:
ALTER TABLE Наименование_таблицы
< ADD наименование_нового_столбца указать_тип_информации_столбца [атрибуты_столбца] |
DROP COLUMN наименование_столбца |
MODIFY COLUMN наименование_столбца указать_тип_информации_столбца [атрибуты столбца] |
ALTER COLUMN наименование_столбца SET DEFAULT назначаем_значение_по_умолчанию |
ADD [CONSTANT] определяем_ограничения_таблицы |
DROP [CONSTANT] задаем_название_ограничениям >
Возможностей у команды «ALTER TABLE» намного больше, но не все они используются на практике, поэтому остановимся на тех, которые могут часто встретиться.
MySQL: как добавить столбец в таблицу
Представим, что у вас есть таблица MySQL с какой-то информацией под названием «MyTable», куда нужно добавить столбец «NewColumn». Код будет таким:
ALTER TABLE MyTable
ADD NewColumn VARCHAR(60) NULL;
В коде мы создали новый столбец «MyTable» с типом данных «VARCHAR» и атрибутом «NULL».
Добавить столбец в таблицу MySQL — не проблема. Однако это может стать проблемой, когда таблица далеко не новая и заполнена большим объемом информации , о собенно когда таблица содержит очень много строк. Поэтому добавление столбцов нужно использовать с осторожностью, чтобы не навредить. Если таблица новая, тогда проблем возникнуть не должно.
MySQL: как удалить столбец
Чуть выше мы добавили новый столбец в таблицу MySQL, теперь давайте его удалим. Таким же способом можно удалить любой столбец таблицы. Для этого будем использовать следующий код:
ALTER TABLE MyTable
DROP COLUMN NewColumn
MySQL: как изменить значение столбца по умолчанию
Представим, что в добавленном столбце нужно изменить значение по умолчанию, в нашем случае это будет число «35». Для этого будем использовать такой код:
ALTER TABLE MyTable
ALTER COLUMN NewColumn SET DEFAULT 35;
MySQL: как изменить тип столбца
Иногда нужно поменять тип информации, сохраняемой в столбце. В нашем случа е м ы при добавлении столбца указали тип данных «VARCHAR». Теперь давайте сменим его на «CHAR(90)», но оставим тот же атрибут «NULL». Код будет таким:
ALTER TABLE MyTable
MODIFY COLUMN NewColumn CHAR(90) NULL;
MySQL: как переименовать столбец таблицы
Допустим , мы хотим название нашего столбца «NewColumn» поменять на другое название — «OldColumn». В этом случае нам поможет вот такой код:
ALTER TABLE MyTable
RENAME COLUMN NewColumn TO OldColum
С переименованием столбцов таблицы нужно быть осторожными, потому что , если с этим столбцом была настроена какая-то зависимость, тогда она будет нарушена , а п от ому повлечет дальнейшие проблемы в работе с базой данных. Поэтому для переименования столбцов таблицы лучше всего использовать инструмент рефакторинга, который управляет зависимостями и обновит их при переименовании столбца этим инструментом.
MySQL: как переименовать таблицу
Метод «ALTER TABLE» хорош тем, что он работает не только «внутри» таблицы, но и с самой таблицей. Например , с его помощью можно переименовать таблицу MySQL. В нашем случае название «MyTable» мы поменяем на «GoodTable». Вот как это делается в коде:
ALTER TABLE MyTable RENAME TO GoodTable
Заключение
- добавить столбец в таблицу MySQL;
- переименовать таблицу MySQL;
- удалить столбец из таблицы MySQL;
- и др.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
ezhov-da / sql-teradata-Переименование столбца.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| ALTER TABLE T_T_ASAA_NO RENAME col1 TO col2 |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Footer
© 2023 GitHub, Inc.
You can’t perform that action at this time.
