HSQLDB-변경 명령

테이블 또는 필드 이름 변경, 필드 순서 변경, 필드 데이터 유형 변경 또는 테이블 구조 변경이 필요할 때마다 ALTER 명령을 사용하여 동일한 작업을 수행 할 수 있습니다.

다른 시나리오를 사용하여 ALTER 명령을 설명하는 예를 고려해 보겠습니다.

다음 쿼리를 사용하여 testalter_tbl 들판과 함께 idname.

//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 테이블에서 기존 열을 삭제할 때마다 ALTER 명령과 함께 DROP 절을 사용할 수 있습니다.

다음 쿼리를 사용하여 열 (name) 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 테이블에 열을 추가 할 때마다 ALTER 명령과 함께 ADD 절을 사용할 수 있습니다.

다음 쿼리를 사용하여 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각각 int 및 varchar 데이터 유형을 갖는 두 개의 필드 (id 및 name)를 포함합니다. 이제 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표. 다음은 ALTER 명령과 함께 MODIFY 절을 사용하여이를 수행하는 쿼리입니다.

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';

위의 명령을 실행하면 다음과 같은 출력이 표시됩니다.

+------------+-------------+------------+-----------+-----------+------------+
|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 |    20      |
+------------+-------------+------------+-----------+-----------+------------+