Добавление столбцов
Для добавления столбцов в существующую таблицу используется следующий синтаксис оператора alter table:
ALTER TABLE table_name ADD COLUMN name_colum, type_of column
В этом примере будет добавлено дополнительное поле price в таблицу со следующей структурой
$connection = new mysqli("localhost","root","",’mybase’);
$query = "alter table auto add column price int";
$result = $connection->query($query);
?>
Результатом вашепривиденного кода станет таблица со следующей структурой
Слово column не является обязательным, если его опустить результат будет тот же самый.
Удаление столбцов
Для добавления столбцов в существующую таблицу используется следующий синтаксис оператора alter table:
ALTER TABLE table_name DROP COLUMN name_colum
Здесь будет удалена колонка price созданная в первом примере
$connection = new mysqli("localhost","root","",’mybase’);
$query = "alter table auto drop column price";
$result = $connection->query($query);
?>
Если таблица содержит только один столбец, то DROP COLUMN работать не будет, в этом случае следует использовать оператор DROP TABLE , который удаляет таблицу целиком.
$connection = new mysqli("localhost","root","",’mybase’);
$query = "drop table auto";
$result = $connection->query($query);
?>
Учитывая таблицу, созданную с помощью:
Как удалить столбец IsDeleted ?
Обратите внимание, что ключевое слово COLUMN не является обязательным, так как MySQL будет принимать только DROP IsDeleted . Кроме того, чтобы удалить несколько столбцов, вы должны разделить их запятыми и включить DROP для каждого из них.
Это позволяет вам DROP , ADD и ALTER несколько столбцов в одной таблице в одном выражении. Из справочного руководства MySQL:
Вы можете выдать несколько предложений ADD , ALTER , DROP и CHANGE в одном выражении ALTER TABLE , разделенных запятыми. Это расширение MySQL для стандартного SQL, которое разрешает только одно из каждого предложения в выражении ALTER TABLE .
Если таблица уже была ранее создана, и ее необходимо изменить, то для этого применяется команда ALTER TABLE . Ее сокращенный формальный синтаксис:
Вообще данная команда поддерживает гораздо больше опций и возможностей. Все их можно посмотреть в документации. Рассмотрим лишь основные сценарии, с которыми мы можем столкнуться.
Добавление нового столбца
Добавим в таблицу Customers новый столбец Address:
В данном случае столбец Address имеет тип VARCHAR и для него определен атрибут NULL.
Удаление столбца
Удалим столбец Address из таблицы Customers:
Изменение значения по умолчанию
Установим в таблице Customers для столбца Age значение по умолчанию 22:
Изменение типа столбца
Изменим в таблице Customers тип данных у столбца FirstName на CHAR(100) и установим для него атрибут NULL :
Добавление и удаление внешнего ключа
Пусть изначально в базе данных будут добавлены две таблицы, никак не связанные:
Добавим ограничение внешнего ключа к столбцу CustomerId таблицы Orders:
При добавлении ограничений мы можем указать для них имя, используя оператор CONSTRAINT , после которого указывается имя ограничения:
В данном случае ограничение внешнего ключа называется orders_customers_fk. Затем по этому имени мы можем удалить ограничение: