Как переименовать столбец в sql
Перейти к содержимому

Как переименовать столбец в sql

Как переименовать столбец в таблице базы данных с помощью SQL?

Если я хочу просто переименовать столбец (не изменить его тип или ограничения, а только его имя) в базе данных SQL с помощью SQL, как это сделать? Или это невозможно?

Это для любой базы данных, утверждающей, что поддерживает SQL, я просто ищу SQL-запрос, который будет работать независимо от фактической реализации базы данных.

11 ответов

на PostgreSQL (и многих других СУБД) вы можете сделать это с помощью regular ALTER TABLE о себе:

специально для SQL Server, используйте sp_rename

обратите внимание, что вы не можете просто переименовать и оставить тип и ограничения как есть; вы должны повторно ввести тип данных и ограничения после нового имени столбца.

Я думаю, что это самый простой способ изменить имя столбца.

к сожалению, для независимого от базы данных решения вам нужно будет знать все о столбце. Если он используется в других таблицах в качестве внешнего ключа, их также необходимо изменить.

для самого простого из случаев (без ограничений, триггеров, индексов или ключей) он будет принимать вышеуказанные 3 строки. Для чего-то более сложного он может стать очень грязным, когда вы заполняете недостающие части.

однако, как упоминалось выше, есть более простая база данных конкретные методы, Если вы знаете, какую базу данных необходимо изменить заранее.

в Informix, вы можете использовать:

Это было реализовано до того, как стандарт SQL решил проблему — если она решена в стандарте SQL. Моя копия стандарта SQL 9075:2003 не показывает его как стандартный (среди прочего, переименование не является одним из ключевых слов). Я не знаю, действительно ли это в SQL 9075:2008.

Урок 2 SQL. Переименование столбца и применение агрегатных функций

Имена столбцов в запросах можно переименовывать. Это придает результатам более читабельный вид.

В языке SQL переименование полей связано с использованием ключевого слова AS, которое и используется для переименования имен полей в результирующих наборах

Синтаксис:

SELECT <имя поля> AS <псевдоним> FROM …

Рассмотрим пример переименования в SQL:

SELECT name, zarplata AS низкая_зарплата FROM teachers WHERE zarplata<15000;

Результат:
sql переименование столбца

Переименование столбцов в SQL часто необходимо при вычислении значений, связанных с несколькими полями таблицы. Рассмотрим пример:

SELECT name, (zarplata+premia) AS zarplata_premia FROM teachers;

Результат:
sql переименование

Агрегатные функции в SQL

Для получения итоговых значений и вычисления выражений используются агрегатные функции в sql:

Функция Описание
COUNT (*) Возвращает количество строк таблицы.
COUNT (имя поля) Возвращает количество значений в указанном столбце.
SUM (имя поля) Возвращает сумму значений в указанном столбце.
AVG (имя поля) Возвращает среднее значение в указанном столбце.
MIN (имя поля) Возвращает минимальное значение в указанном столбце.
MAX (имя поля) Возвращает максимальное значение в указанном столбце.

Все агрегатные функции возвращают единственное значение.

Функции COUNT , MIN и MAX применимы к любым типам данных.

Функции SUM и AVG используются только для числовых полей.
Между функциями COUNT(*) и COUNT( ) есть разница: вторая при подсчете не учитывает NULL -значения.

SELECT MAX(zarplata) AS макс_зп FROM teachers;

Результаты:
агрегатные функции в sql

Рассмотрим более сложный пример использования агрегатных функций в sql.

SELECT COUNT( * ) FROM `pc` WHERE `Номер` IN ( SELECT `Номер` FROM product WHERE Производитель = "Америка" )

sql запросы count

SELECT `title` FROM `courses` WHERE `title` NOT IN ( . )

Предложение GROUP BY в SQL

Оператор group by в sql обычно используется совместно с агрегатными функциями.

Агрегатные функции выполняются над всеми результирующими строками запроса. Если запрос содержит оператор GROUP BY , каждый набор строк, заданных в предложении GROUP BY, составляет группу, и агрегатные функции выполняются для каждой группы отдельно.

Рассмотрим пример с таблицей lessons :
sql group by

    Выдавать количество проведенных уроков учителем Иванов из таблицы lessons (порядковый номер Иванова 1 ( tid )).

SELECT count(tid) as Иванов from lessons WHERE tid=1

Результат:
Оператор group by в sql

SELECT course, COUNT( tid ) AS Иванов FROM lessons WHERE tid =1 GROUP BY course

При этом стоит учесть, что при группировке по полю, содержащему NULL -значения, все такие записи попадут в одну группу.

GROUP BY в SQL

sql group by пример

SQL group by 2_5. БД Институт. Посчитать количество уроков, проведенных одним и тем же учителем. Результат должен выглядеть так:

Оператор Having SQL

Предложение HAVING в SQL необходимо для проверки значений, которые получены с помощью агрегатной функции после группировки (после использования GROUP BY ). Такая проверка не может содержаться в предложении WHERE.

SELECT AVG(`Цена`) ,`Скорость` FROM `pc` GROUP BY `Скорость` HAVING AVG(`Цена`) <30000

Результат:
sql having пример

Как переименовать столбец в MySQL?

Как скопировать таблицу в MySQL

База данных

MySQL — популярная система управления базами данных, которая составляет основу огромной части современного Интернета. MySQL — это СУБД с открытым исходным кодом (система управления реляционными базами данных), разработанная и поддерживаемая Oracle, с моделью клиент-сервер. Он предлагает безопасное хранилище базы данных, высокую производительность и мощные функции.

В этом руководстве будет показано, как переименовать столбец в MySQL.

Переименование столбца в MySQL

В MySQL база данных обычно состоит из нескольких таблиц, содержащих строки и столбцы, содержащие различные данные. Для демонстрации мы переименуем имя столбца конкретной таблицы.

Для демонстрации я буду использовать этот образец базы данных. Это очень большая база данных, которой должно хватить практически для любой тестовой ситуации. Для удобства я буду использовать phpMyAdmin для доступа к базе данных и выполнения запросов. Узнайте больше об установке и настройке phpMyAdmin и MySQL.

Узнайте больше об установке и настройке phpMyAdmin и MySQL

Базовая структура

Чтобы переименовать столбец, структура запроса будет выглядеть следующим образом.

Если нужно переименовать несколько столбцов, мы также можем сделать это в одном запросе. В таком случае структура запроса будет выглядеть так.

В качестве альтернативы, если вы хотите переименовать таблицу, структура запроса будет выглядеть так.

Вы также можете переименовать несколько таблиц за один раз.

MySQL также позволяет использовать RENAME между несколькими базами данных.

Переименование столбца таблицы

Давайте посмотрим на пример таблицы базы данных стран.

Давайте посмотрим на пример таблицы базы данных

Из этой таблицы давайте переименуем country_name (varchar (40)) в country_label (varchar (40)). Запрос будет выглядеть примерно так.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *