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. Итак, новая структура нашей базы данных выглядит следующим образом:

Читайте также:  Программные системы управления базами данных SQL, какую систему управления базами данных SQL выбрать
Поле Тип Дефолт
имя варчар (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
Добавить комментарий