HSQLDB-변경 명령
테이블 또는 필드 이름 변경, 필드 순서 변경, 필드 데이터 유형 변경 또는 테이블 구조 변경이 필요할 때마다 ALTER 명령을 사용하여 동일한 작업을 수행 할 수 있습니다.
예
다른 시나리오를 사용하여 ALTER 명령을 설명하는 예를 고려해 보겠습니다.
다음 쿼리를 사용하여 testalter_tbl 들판과 함께 id 과 name.
//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 |
+------------+-------------+------------+-----------+-----------+------------+