Удаление столбца из таблицы
ALTER TABLE TABLE_NAME DROP COLUMN_NAME Не катит.
Не хватает слова «COLUMN», запрос должен выглядеть так:
![]()
UPD: учтено замечание насчет ключевого слова COLUMN
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Sql как удалить столбец из таблицы
Возможно, в какой-то момент мы захотим изменить уже имеющуюся таблицу. Например, добавить или удалить столбцы, изменить тип столбцов, добавить или удалить ограничения. То есть потребуется изменить определение таблицы. Для изменения таблиц используется выражение ALTER TABLE .
Общий формальный синтаксис команды выглядит следующим образом:
Таким образом, с помощью ALTER TABLE мы можем провернуть самые различные сценарии изменения таблицы. Рассмотрим некоторые из них.
Добавление нового столбца
Добавим в таблицу Customers новый столбец Address:
В данном случае столбец Address имеет тип NVARCHAR и для него определен атрибут NULL. Но что если нам надо добавить столбец, который не должен принимать значения NULL? Если в таблице есть данные, то следующая команда не будет выполнена:
Поэтому в данном случае решение состоит в установке значения по умолчанию через атрибут DEFAULT:
В этом случае, если в таблице уже есть данные, то для них для столбца Address будет добавлено значение «Неизвестно».
Удаление столбца
Удалим столбец Address из таблицы Customers:
Изменение типа столбца
Изменим в таблице Customers тип данных у столбца FirstName на NVARCHAR(200) :
Добавление ограничения CHECK
При добавлении ограничений SQL Server автоматически проверяет имеющиеся данные на соответствие добавляемым ограничениям. Если данные не соответствуют ограничениям, то такие ограничения не будут добавлены. Например, установим для столбца Age в таблице Customers ограничение Age > 21.
Если в таблице есть строки, в которых в столбце Age есть значения, несоответствующие этому ограничению, то sql-команда завершится с ошибкой. Чтобы избежать подобной проверки на соответствие и все таки добавить ограничение, несмотря на наличие несоответствующих ему данных, используется выражение WITH NOCHECK :
По умолчанию используется значение WITH CHECK , которое проверяет на соответствие ограничениям.
Добавление внешнего ключа
Пусть изначально в базе данных будут добавлены две таблицы, никак не связанные:
Добавим ограничение внешнего ключа к столбцу CustomerId таблицы Orders:
Добавление первичного ключа
Используя выше определенную таблицу Orders, добавим к ней первичный ключ для столбца Id:
Добавление ограничений с именами
При добавлении ограничений мы можем указать для них имя, используя оператор CONSTRAINT , после которого указывается имя ограничения:
Удаление ограничений
Для удаления ограничений необходимо знать их имя. Если мы точно не знаем имя ограничения, то его можно узнать через SQL Server Management Studio:

Раскрыв узел таблиц в подузле Keys можно увидеть названия ограничений первичного и внешних ключей. Названия ограничений внешних ключей начинаются с «FK». А в подузле Constraints можно найти все ограничения CHECK и DEFAULT. Названия ограничений CHECK начинаются с «CK», а ограничений DEFAULT — с «DF».
Например, как видно на скриншоте в моем случае имя ограничения внешнего ключа в таблице Orders называется «FK_Orders_To_Customers». Поэтому для удаления внешнего ключа я могу использовать следующее выражение:
MySQL Как удалить столбец из таблицы?
Для удаления столбца таблицы используют команду ALTER TABLE в комбинации с DROP, если необходимо удалить один столбец, то вызывается она следующим образом:
table_name — наименование таблицы, column_name — наименование столбца, который необходимо удалить.Если требуется удалить несколько столбцов, то команду DROP необходимо указать для каждого столбца, через запятую:
MySQL позволяет изменять структуру таблиц с помощью команды ALTER TABLE в SQL. С помощью этой команды вы можете легко изменить имя своей таблицы и столбцов, добавить или удалить столбцы или изменить тип существующих столбцов.
Как удалить столбец из таблицы в MySQL
Обратите внимание, что ключевое слово COLUMN не является обязательным, так как MySQL будет принимать только DROP IsDeleted . Кроме того, чтобы удалить несколько столбцов, вы должны разделить их запятыми и включить DROP для каждого из них.
Это позволяет вам DROP , ADD и ALTER несколько столбцов в одной таблице в одном выражении. Из справочного руководства MySQL:
Вы можете выдать несколько предложений ADD , ALTER , DROP и CHANGE в одном выражении ALTER TABLE , разделенных запятыми. Это расширение MySQL для стандартного SQL, которое разрешает только одно из каждого предложения в выражении ALTER TABLE .