Главная страница » Как удалить столбец в sql

Как удалить столбец в sql

  • автор:

ALTER TABLE в SQL

Мы можем изменить структуру таблицы с помощью команды ALTER TABLE. Мы можем:

Добавить столбец в таблицу

Мы можем добавить столбцы в таблицу с помощью команды ALTER TABLE с оператором ADD. Например:

Здесь мы добавили столбец с именем phone в таблицу Customers.

Добавить несколько столбцов в таблицу

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

Здесь мы добавили столбцы phone и age в таблицу Customers.

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

Мы можем переименовать столбцы в таблице с помощью команды ALTER TABLE с оператором RENAME COLUMN. Например:

Здесь мы изменили имя столбца customer_id на c_id в таблице Customers.

Изменить столбец в таблице

Мы также можем изменить тип данных столбца с помощью команды ALTER TABLE с оператором MODIFY или ALTER COLUMN. Например:

ALTER TABLE — изменение таблицы в SQL

ALTER TABLE — один из самых незаменимых инструментов в работе с базами данных SQL. В этой статье мы рассмотрим SQL оператор ALTER TABLE и его применение. Узнаем, как добавить или удалить поля с помощью этого инструмента, и рассмотрим различные примеры его использования. В данной статье мы не будем рассматривать MS SQL и остановимся на синтаксисе наиболее популярной версии — MySQL.

Синтаксис оператора ALTER TABLE в SQL

Синтаксис оператора ALTER TABLE выглядит следующим образом:

Из этой записи мы видим, что сценариев применения данной команды достаточно много. Давайте рассмотрим их. В качестве примера мы будем использовать базу данных slcbookshelf, которую мы создавали в статье о первичных и внешних SQL ключах.

Добавление столбца в таблицу (ADD COLUMN)

Сейчас наша таблица выглядит следующим образом:

Давайте добавим в нашу таблицу новый столбец, в котором будет отображаться автор каждой книги:

Данным запросом мы создали в нашей таблице новый столбец authors с типом NVARCHAR и длиной в 50 символов, который не может принимать пустое значение. Если мы не знаем автора произведения, тогда наша команда будет иметь такой вид:

Теперь для существующих данных, для которых не заполнен столбец author, значение по умолчанию будет «Неизвестен».

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

Переименование столбца (RENAME)

С помощью ALTER TABLE можно переименовать существующий столбец. Для этого выполните команду:

Переименование таблицы (RENAME)

При помощи ALTER TABLE можно переименовать таблицу. Выполняем запрос:

Удаление столбца (DROP)

Чтобы удалить столбец из таблицы с помощью ALTER TABLE, требуется выполнить следующий запрос:

Изменение столбца (ALTER COLUMN)

Иногда бывают случаи, когда необходимо изменить уже созданный ранее столбец. Это действие можно выполнить с помощью команды ALTER TABLE. Для изменения существующего столбца необходимо выполнить такой запрос:

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

Также с помощью ALTER TABLE можно сделать действие сразу с несколькими столбцами. Чтобы изменить сразу несколько столбцов, вам потребуется использовать эту команду:

Таким запросом мы изменили сразу два столбца: book_category и book_name.

Изменение типа столбца

При помощи ALTER TABLE можно изменить тип столбца в таблице SQL. Изменение типа существующего столбца осуществляется при помощи команды:

Выполнив эту команду, мы изменили тип book_category на NVARCHAR(200).

Добавление первичного и внешнего ключей при помощи ALTER TABLE

Вы можете определить существующий столбец в таблице в качестве первичного ключа с помощью команды ALTER TABLE. Запрос, добавляющий в таблицу первичный ключ, будет выглядеть следующим образом:

Аналогично при помощи ALTER TABLE можно добавить внешний ключ таблицы. Чтобы создать внешний ключ для таблицы MySQL выполните команду:

В результате выполнения этой команды поле author_id в таблице books будет внешним ключом для аналогичного поля в таблице authors.

Работа с ограничениями

Ограничения — специальные правила, которые применяются к таблице, чтобы ограничить типы данных в таблице. Ограничения очень важны, так как их правильное применение помогает обеспечить целостность данных в таблицах и наладить стабильную работу базы. Давайте рассмотрим одно из таких ограничений — ограничение CHECK. Применяя ограничения CHECK к столбцу таблицы, мы создаем правило, по которому при добавлении данных СУБД будет автоматически проверять их на соответствии заданным правилам.

Создание ограничения

Например, если нам необходимо, чтобы все клиенты в базе данных Customers имели возраст больше 21 года, мы можем установить следующее ограничение:

При применении такого ограничения стоит учитывать, что если в столбце уже существуют данные, не соответствующие ограничению, то команда будет выполнена с ошибкой. Чтобы избежать подобного поведения, вы можете добавить ограничение со значением WITH NOCHECK. Таким образом, текущие значения столбца не вызовут ошибок при выполнении запроса при несоответствии ограничению:

Добавление ограничений с именами

Так как ограничений в таблицах может быть много, добавление имен к ограничениям может в значительной мере упростить будущую работу с таблицей. Создать имя для ограничения можно при помощи оператора CONSTRAINT:

Удаление ограничений

ALTER TABLE можно пользоваться и для удаления ограничений. Для удаления существующих ограничений необходимо выполнить следующую команду:

После выполнения этой команды ограничение перестанет применяться при добавлении новых данных в столбец.

Заключение

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

Как удалить столбец из таблицы на SQL в Microsoft SQL Server

Приветствую всех посетителей сайта Info-Comp.ru! В данном материале я покажу, как удалить столбец из таблицы в Microsoft SQL Server с использованием языка SQL.

Как удалить столбец из таблицы на SQL в Microsoft SQL Server

Удаление столбцов на SQL в Microsoft SQL Server

Столбцы в Microsoft SQL Server удаляются с помощью инструкции ALTER TABLE и команды DROP COLUMN.

DROP COLUMN – команда SQL для удаления столбца из таблицы.

Microsoft SQL Server поддерживает удаление нескольких столбцов одной таблицы в одной инструкции SQL, в примерах ниже мы рассмотрим такой случай.

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

Примеры удаления столбцов в Microsoft SQL Server на SQL

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

Исходные данные для примеров

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

SQL код создания тестовых данных

Скриншот 1

Удаление одного столбца

Допустим, что у нас возникла необходимость удалить столбец description из таблицы products, для этого мы пишем инструкцию ALTER TABLE, указываем название таблицы, затем пишем команду DROP COLUMN и указываем столбец, который подлежит удалению.

Итоговая SQL инструкция выглядит следующим образом.

Скриншот 2

Как видим, столбца больше нет.

Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.

Удаление нескольких столбцов

А теперь давайте представим, что нам нужно удалить сразу два столбца, например, price и type_id из этой же таблицы products.

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

ALTER TABLE. Изменение таблиц в базе данных MySQL

Команда ALTER TABLE используется для осуществления изменений таблицы:

  • Добавление колонок
  • Удаление колонок
  • Модификация колонок
  • Изменения имени таблицы
  • Изменения кодировки таблицы
  • Добавление и удаление ограничений

Для дальнейших примеров будем использовать таблицу books из базы данных Bookstore, которую создали в одном из предыдущих постов.

Чтобы просмотреть изменения колонок в таблице, воспользуйтесь командой:
SHOW COLUMNS FROM table_name;

Перед началом работ выберем базу данных, с которой будем работать.

Как добавить колонку к таблице MySQL?

Синтаксис добавления колонки в таблицу:

Для примера добавим к таблице books колонку с именем discount, в которой будет хранится процент скидки на книги и amount для хранения количества книг.

Можно добавлять, удалять и модифицировать сразу несколько колонок за раз.

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

Добавим колонку shelf_position сразу после колонки price.

Как удалить колонку из таблицы MySQL?

Синтаксис удаления колонки из таблицы:

Если в таблице осталась только одна колонка, то ее удалить нельзя.

Удалим колонку edition с номером издания книги.

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

Чтобы переставить колонку используйте команду AFTER, также понадобится повторно определить тип данных.

Переместим колонку с ценой Price на место после колонки Author:

Как изменить имя и тип данных у колонки в таблице MySQL?

Синтаксис смены имени и типа данных у колонки:

Сменим имя у колонки сreation_date на entry_date и тип данных c TIMESTAMP на DATE .

Если вы хотите сменить только тип данных, оставив имя колонки прежним, то воспользуйтесь следующим синтаксисом:

Как изменить значение по умолчанию в колонке таблицы MySQL?

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

Синтаксис установки значения по умолчанию для колонки:

Установим для колонки discount значение по умолчанию:

Чтобы удалить значение по умолчанию, используйте синтаксис:

Удалим созданное значение по умолчанию для колонки discount:

Как изменить имя таблицы MySQL?

Синтаксис переименования таблицы:

Изменим имя таблицы books на books_collection;

Как изменить метаданные о таблице в MySQL?

С помощью команды ALTER можно также изменить некоторые метаданные о таблице.

Для начала давайте их выведем.

Вывод для таблицы books будет выглядеть следующим образом.

mysql> SHOW TABLE STATUS LIKE ‘books’\G;
*************************** 1. row ***************************
Name: books
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 24
Avg_row_length: 682
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 5242880
Auto_increment: 25
Create_time: 2019-01-18 20:00:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)

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

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