Перейти к содержимому

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

  • автор:

Удаление столбцов из таблицы

В этой статье описывается удаление столбцов таблицы в SQL Server с помощью SQL Server Management Studio (SSMS) или Transact-SQL.

При удалении столбца из таблицы удаляется сам столбец и все содержащиеся в нем данные.

ограничения

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

Удалить столбец с ограничениями PRIMARY KEY, FOREIGN KEY или другими зависимостями можно только с использованием конструктора таблиц в SSMS. При использовании обозревателя объектов в SSMS или Transact-SQL необходимо сначала удалить все зависимости от столбца.

Разрешения

Требуется разрешение ALTER на таблицу.

Удаление столбцов с помощью обозревателя объектов

Ниже описаны действия по удалению столбцов с помощью обозревателя объектов в SSMS.

  1. Подключитесь к экземпляру ядра СУБД.
  2. В обозревателе объектов найдите таблицу, из которой требуется удалить столбцы, и разверните таблицу, чтобы предоставить имена столбцов.
  3. Щелкните правой кнопкой мыши столбец, который необходимо удалить, и выберите команду Удалить.
  4. В диалоговом окне Удаление объекта нажмите кнопку ОК.

Если столбец содержит ограничения или другие зависимости, в диалоговом окне «Удалить объект» появится сообщение об ошибке. Чтобы устранить проблему, удалите упомянутые ограничения.

Удаление столбцов с помощью конструктора таблиц

Ниже описаны действия по удалению столбцов с помощью конструктора таблиц в SSMS.

  1. В обозревателе объектовщелкните правой кнопкой мыши таблицу, из которой необходимо удалить столбцы, и выберите пункт Конструктор.
  2. Щелкните правой кнопкой мыши столбец, который надо удалить, и выберите из контекстного меню пункт Удалить столбец .
  3. Если столбец участвует в связи (FOREIGN KEY или PRIMARY KEY), то будет выдано сообщение с запросом на подтверждение удаления выбранных столбцов и их связей. Выберите Да.

Удаление столбцов с помощью Transact-SQL

Вы можете удалять столбцы с помощью Transact-SQL в SSMS, Azure Data Studio или средств командной строки, таких как служебная программа sqlcmd.

В следующем примере демонстрируется удаление столбца.

ALTER TABLE dbo.doc_exb DROP COLUMN column_b; GO 

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

Дополнительные примеры см. в статье ALTER TABLE (Transact-SQL).

Далее

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

  • Инструкция ALTER TABLE (Transact-SQL)
  • Среда SQL Server Management Studio
  • Azure Data Studio
  • Обозреватель объектов
  • конструктор таблиц

Справочник по MySQL : SQL : Изменение свойств таблицы : Удаление столбцов (ALTER TABLE DROP)

Удаление столбца можно сделать при помощи следующей конструкции:

ALTER TABLE table_name DROP field_name

table_name — имя таблицы, в которой будет удален столбец; field_name — имя удаляемого столбца.

$sql="ALTER TABLE search DROP id_num"; mysql_query($sql);

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

$sql="ALTER TABLE search DROP id_1, DROP id_2, DROP id_3"; mysql_query($sql);

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

Если таблица уже была ранее создана, и ее необходимо изменить, то для этого применяется команда ALTER TABLE . Ее сокращенный формальный синтаксис:

ALTER TABLE название_таблицы

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

Добавление нового столбца

Добавим в таблицу Customers новый столбец Address:

ALTER TABLE Customers ADD Address VARCHAR(50) NULL;

В данном случае столбец Address имеет тип VARCHAR и для него определен атрибут NULL.

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

Удалим столбец Address из таблицы Customers:

ALTER TABLE Customers DROP COLUMN Address;

Изменение значения по умолчанию

Установим в таблице Customers для столбца Age значение по умолчанию 22:

ALTER TABLE Customers ALTER COLUMN Age SET DEFAULT 22;

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

Изменим в таблице Customers тип данных у столбца FirstName на CHAR(100) и установим для него атрибут NULL :

ALTER TABLE Customers MODIFY COLUMN FirstName CHAR(100) NULL;

Добавление и удаление внешнего ключа

Пусть изначально в базе данных будут добавлены две таблицы, никак не связанные:

CREATE TABLE Customers ( Id INT PRIMARY KEY AUTO_INCREMENT, Age INT, FirstName VARCHAR(20) NOT NULL, LastName VARCHAR(20) NOT NULL ); CREATE TABLE Orders ( Id INT PRIMARY KEY AUTO_INCREMENT, CustomerId INT, CreatedAt Date );

Добавим ограничение внешнего ключа к столбцу CustomerId таблицы Orders:

ALTER TABLE Orders ADD FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

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

ALTER TABLE Orders ADD CONSTRAINT orders_customers_fk FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

В данном случае ограничение внешнего ключа называется orders_customers_fk. Затем по этому имени мы можем удалить ограничение:

ALTER TABLE Orders DROP FOREIGN KEY orders_customers_fk;

Добавление и удаление первичного ключа

Добавим в таблицу Products первичный ключ:

CREATE TABLE Products ( Id INT, Model VARCHAR(20) ); ALTER TABLE Products ADD PRIMARY KEY (Id);

Теперь удалим первичный ключ:

ALTER TABLE Products DROP PRIMARY KEY;

Как удалить столбец из таблицы в MySQL

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

ALTER TABLE tbl_Country DROP COLUMN IsDeleted, DROP COLUMN CountryName; 

Это позволяет вам DROP , ADD и ALTER несколько столбцов в одной таблице в одном выражении. Из справочного руководства MySQL:

Вы можете выдать несколько предложений ADD , ALTER , DROP и CHANGE в одном выражении ALTER TABLE , разделенных запятыми. Это расширение MySQL для стандартного SQL, которое разрешает только одно из каждого предложения в выражении ALTER TABLE .

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

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

Book Your Car Rental HPN — Walk Off the Plane, Drive Away