Всякий раз, когда необходимо изменить имя таблицы или поля, изменить порядок полей, изменить тип данных полей или любую структуру таблицы, вы можете добиться того же с помощью команды ALTER.
пример
Давайте рассмотрим пример, который объясняет команду ALTER с использованием различных сценариев.
Используйте следующий запрос для создания таблицы с именем testalter_tbl с идентификатором и именем поля.
//below given query is to create a table testalter_tbl table. create table testalter_tbl(id INT, name VARCHAR(10)); //below given query is to verify the table structure testalter_tbl. Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM = 'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';
После выполнения вышеуказанного запроса вы получите следующий вывод.
+------------+-------------+------------+-----------+-----------+------------+ |TABLE_SCHEM | TABLE_NAME | COLUMN_NAME| DATA_TYPE | TYPE_NAME | COLUMN_SIZE| +------------+-------------+------------+-----------+-----------+------------+ | PUBLIC |TESTALTER_TBL| ID | 4 | INTEGER | 4 | | PUBLIC |TESTALTER_TBL| NAME | 12 | VARCHAR | 10 | +------------+-------------+------------+-----------+-----------+------------+
Удаление или добавление столбца
Всякий раз, когда вы хотите удалить существующий столбец из таблицы HSQLDB, вы можете использовать предложение DROP вместе с командой ALTER.
Используйте следующий запрос, чтобы удалить столбец ( имя ) из таблицы testalter_tbl.
ALTER TABLE testalter_tbl DROP name;
После успешного выполнения вышеуказанного запроса вы можете узнать, было ли удалено поле имени из таблицы testalter_tbl, с помощью следующей команды.
Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM = 'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';
После выполнения вышеуказанной команды вы получите следующий вывод.
+------------+-------------+------------+-----------+-----------+------------+ |TABLE_SCHEM | TABLE_NAME | COLUMN_NAME| DATA_TYPE | TYPE_NAME | COLUMN_SIZE| +------------+-------------+------------+-----------+-----------+------------+ | PUBLIC |TESTALTER_TBL| ID | 4 | INTEGER | 4 | +------------+-------------+------------+-----------+-----------+------------+
Всякий раз, когда вы хотите добавить какой-либо столбец в таблицу HSQLDB, вы можете использовать предложение ADD вместе с командой ALTER.
Используйте следующий запрос, чтобы добавить столбец с именем NAME в таблицу testalter_tbl .
ALTER TABLE testalter_tbl ADD name VARCHAR(10);
После успешного выполнения вышеуказанного запроса вы можете узнать, добавлено ли поле имени в таблицу testalter_tbl, с помощью следующей команды.
Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM = 'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';
После выполнения вышеуказанного запроса вы получите следующий вывод.
+------------+-------------+------------+-----------+-----------+------------+ |TABLE_SCHEM | TABLE_NAME | COLUMN_NAME| DATA_TYPE | TYPE_NAME | COLUMN_SIZE| +------------+-------------+------------+-----------+-----------+------------+ | PUBLIC |TESTALTER_TBL| ID | 4 | INTEGER | 4 | | PUBLIC |TESTALTER_TBL| NAME | 12 | VARCHAR | 10 | +------------+-------------+------------+-----------+-----------+------------+
Изменение определения столбца или имени
Всякий раз, когда требуется изменить определение столбца, используйте предложение MODIFY или CHANGE вместе с командой ALTER .
Давайте рассмотрим пример, который объяснит, как использовать предложение CHANGE. Таблица testalter_tbl содержит два поля — id и name — с типами данных int и varchar соответственно. Теперь давайте попробуем изменить тип данных id с INT на BIGINT. Ниже приведен запрос на внесение изменений.
ALTER TABLE testalter_tbl CHANGE id id BIGINT;
После успешного выполнения вышеуказанного запроса структуру таблицы можно проверить с помощью следующей команды.
Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM = 'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';
После выполнения вышеуказанной команды вы получите следующий вывод.
+------------+-------------+------------+-----------+-----------+------------+ |TABLE_SCHEM | TABLE_NAME | COLUMN_NAME| DATA_TYPE | TYPE_NAME | COLUMN_SIZE| +------------+-------------+------------+-----------+-----------+------------+ | PUBLIC |TESTALTER_TBL| ID | 4 | BIGINT | 4 | | PUBLIC |TESTALTER_TBL| NAME | 12 | VARCHAR | 10 | +------------+-------------+------------+-----------+-----------+------------+
Теперь давайте попробуем увеличить размер столбца NAME с 10 до 20 в таблице testalter_tbl . Ниже приведен запрос для достижения этого с использованием предложения MODIFY вместе с командой ALTER.
ALTER TABLE testalter_tbl MODIFY name VARCHAR(20);
После успешного выполнения вышеуказанного запроса структуру таблицы можно проверить с помощью следующей команды.
Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM = 'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';
После выполнения вышеуказанной команды вы получите следующий вывод.