SQL ALTER TABLE: Руководство

SQL ALTER TABLE База данных

SQL ALTER TABLE

Оператор SQL ALTER TABLE добавляет, изменяет или удаляет столбец в таблице. Этот оператор позволяет изменять таблицу после её создания, даже если в таблице хранятся записи.

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

SQL ALTER TABLE

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

  • Добавление столбца.
  • Добавление ограничения.
  • Удаление колонны.
  • Изменение типа данных.
  • Переименование столбца.

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

Установка стола

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

Создав нашу таблицу, мы поняли, что хотим изменить её структуру. Мы могли бы сделать это с помощью команды SQL ALTER TABLE.

SQL ALTER TABLE: добавить столбец в таблицу

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

ALTER TABLE table_name ADD column_name data_type constraints;

Предположим, мы хотим добавить новый столбец в нашу таблицу «Сотрудники», в которой хранятся номера телефонов каждого сотрудника. Этот столбец следует называть «phone_number». Столбец должен использовать тип данных VARCHAR () — который позволяет нам хранить строки максимальной длины — и не иметь ограничений.

Мы могли бы создать этот столбец, используя следующий оператор:

ALTER TABLE employees ADD phone_number VARCHAR(60);

Эта команда добавляет новый столбец в нашу таблицу в базе данных «Сотрудники». Теперь, когда мы смотрим на структуру нашей базы данных, у нас есть один новый столбец с именем «phone_number»:

Читайте также:  Как выполнить цикл в хранимой процедуре MySQL
Поле Тип Дефолт
имя варчар (60) НОЛЬ
заглавие варчар (60) НОЛЬ
отделение варчар (60) НОЛЬ
количество сотрудников варчар (60) НОЛЬ
телефонный номер варчар (60)

SQL ALTER TABLE: добавить ограничение в таблицу

В последнем разделе мы добавили в нашу таблицу новый столбец: phone_number. Но мы забыли добавить какие-либо ограничения в таблицу.

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

Чтобы исправить это, мы могли бы добавить ограничение UNIQUE в столбец «phone_number» в нашей таблице. Синтаксис для добавления ограничения к столбцу в SQL следующий:

ALTER TABLE table_name ADD UNIQUE (column_name);

Эта команда добавляет ограничение в наш столбец phone_number:

ALTER TABLE employees ADD UNIQUE (phone_number);

Если бы мы хотели добавить ещё одно ограничение, мы могли бы сделать это, заменив «UNIQUE» другим ограничением SQL.

SQL ALTER TABLE: удалить столбец из таблицы

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

ALTER TABLE table_name DROP COLUMN column_name;

Предположим, мы хотим удалить столбец «отдел» из нашей таблицы. Позже мы намерены создать новый столбец, который будет связывать отдел сотрудника с другой таблицей. Мы можем удалить этот столбец с помощью следующей команды:

ALTER TABLE employees DROP COLUMN department;

После выполнения этой команды столбец «отдел» из нашей таблицы удаляется. Итак, структура нашей таблицы теперь выглядит следующим образом:

Поле Тип Дефолт
имя варчар (60) НОЛЬ
заглавие варчар (60) НОЛЬ
количество сотрудников варчар (60) НОЛЬ
телефонный номер варчар (60)

SQL ALTER TABLE: изменение типа данных столбца

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

ALTER TABLE table_name ALTER COLUMN column_name new_data_type;

У этой команды есть две альтернативные версии для MySQL и Oracle (до 10G) и для Oracle 10G и новее. Это:

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; (MySQL, Oracle pre-10G)
ALTER TABLE table_name MODIFY column_name new_data_type; (Oracle 10G+ and later)

Когда мы создавали нашу начальную таблицу «сотрудников», мы допустили ошибку, назначив нашему полю «employee_number» значение VARCHAR () вместо числа. Чтобы исправить эту ошибку, мы могли бы использовать следующую команду:

ALTER TABLE employees ALTER COLUMN employee_number INT;

Эта команда изменяет тип нашего столбца «employee_number» на INT. Итак, новая структура нашей базы данных выглядит следующим образом:

Читайте также:  Базы данных NoSQL
Поле Тип Дефолт
имя варчар (60) НОЛЬ
заглавие варчар (60) НОЛЬ
количество сотрудников варчар (60) НОЛЬ
телефонный номер int

SQL ALTER TABLE: переименовать таблицу

Команда ALTER TABLE также позволяет вам переименовать таблицу SQL. Синтаксис для переименования таблицы:

ALTER TABLE current_table RENAME new_table;

Предположим, мы хотим переименовать нашу таблицу «Сотрудники» в «old_employees_2019». Мы могли бы сделать это с помощью этой команды:

ALTER TABLE employees RENAME old_employees_2019;

Вы не можете переименовать таблицу с помощью команды ALTER TABLE в MySQL. В MySQL вместо использования ALTER TABLE вы можете использовать команду RENAME table.

Мы бы использовали следующую команду, чтобы переименовать нашу таблицу в MySQL:

RENAME TABLE employees TO old_employees_2019;

Вывод

Команда SQL ALTER TABLE позволяет изменять структуру таблицы в SQL. Вы можете добавить таблицу, удалить таблицу из или изменить таблицу в базе данных. Кроме того, вы можете изменить ограничения, связанные с таблицей, например UNIQUE или NOT NULL.

Оцените статью
bestprogrammer.ru
Добавить комментарий