HSQLDB - Komutu Değiştir

Bir tablonun veya alanın adını değiştirmek, alanların sırasını değiştirmek, alanların veri türünü değiştirmek veya herhangi bir tablo yapısını değiştirmek gerektiğinde, ALTER komutunu kullanarak aynısını elde edebilirsiniz.

Misal

ALTER komutunu farklı senaryolar kullanarak açıklayan bir örnek ele alalım.

Adlı bir tablo oluşturmak için aşağıdaki sorguyu kullanın testalter_tbl alanlarla id ve 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';

Yukarıdaki sorguyu yaptıktan sonra aşağıdaki çıktıyı alacaksınız.

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

Sütun Düşürmek veya Eklemek

HSQLDB tablosundan var olan bir sütunu DROP yapmak istediğinizde, ALTER komutu ile birlikte DROP cümlesini kullanabilirsiniz.

Bir sütun bırakmak için aşağıdaki sorguyu kullanın (name) tablodan testalter_tbl.

ALTER TABLE testalter_tbl DROP name;

Yukarıdaki sorgunun başarılı bir şekilde yürütülmesinden sonra, aşağıdaki komutu kullanarak ad alanının testalter_tbl tablosundan bırakılıp bırakılmadığını öğrenebilirsiniz.

Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM =
   'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';

Yukarıdaki komutu uyguladıktan sonra, aşağıdaki çıktıyı alacaksınız.

+------------+-------------+------------+-----------+-----------+------------+
|TABLE_SCHEM |  TABLE_NAME | COLUMN_NAME| DATA_TYPE | TYPE_NAME | COLUMN_SIZE|
+------------+-------------+------------+-----------+-----------+------------+
|  PUBLIC    |TESTALTER_TBL|      ID    |      4    |   INTEGER |     4      |
+------------+-------------+------------+-----------+-----------+------------+

HSQLDB tablosuna herhangi bir sütun eklemek istediğinizde, ALTER komutu ile birlikte ADD cümlesini kullanabilirsiniz.

Adlı bir sütun eklemek için aşağıdaki sorguyu kullanın NAME masaya testalter_tbl.

ALTER TABLE testalter_tbl ADD name VARCHAR(10);

Yukarıdaki sorgunun başarılı bir şekilde yürütülmesinden sonra, ad alanının tabloya eklenip eklenmediğini öğrenebilirsiniz. testalter_tbl aşağıdaki komutu kullanarak.

Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM =
   'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';

Yukarıdaki sorguyu yaptıktan sonra aşağıdaki çıktıyı alacaksınız.

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

Sütun Tanımını veya Adını Değiştirme

Sütun tanımını değiştirme gereksinimi olduğunda, MODIFY veya CHANGE ile birlikte fıkra ALTER komut.

CHANGE cümlesinin nasıl kullanılacağını açıklayacak bir örnek ele alalım. Tablotestalter_tblsırasıyla int ve varchar veri türlerine sahip iki alan içerir - id ve name. Şimdi id'nin veri türünü INT'den BIGINT'e değiştirmeyi deneyelim. Değişikliği yapmak için sorgu aşağıdadır.

ALTER TABLE testalter_tbl CHANGE id id BIGINT;

Yukarıdaki sorgunun başarılı bir şekilde yürütülmesinden sonra, tablo yapısı aşağıdaki komut kullanılarak doğrulanabilir.

Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM =
   'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';

Yukarıdaki komutu uyguladıktan sonra, aşağıdaki çıktıyı alacaksınız.

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

Şimdi bir NAME sütununun boyutunu 10'dan 20'ye çıkarmayı deneyelim. testalter_tbltablo. ALTER komutuyla birlikte MODIFY yan tümcesini kullanarak bunu başarmak için sorgu aşağıdadır.

ALTER TABLE testalter_tbl MODIFY name VARCHAR(20);

Yukarıdaki sorgunun başarılı bir şekilde yürütülmesinden sonra, tablo yapısı aşağıdaki komut kullanılarak doğrulanabilir.

Select * From INFORMATION_SCHEMA.SYSTEM_COLUMNS as C Where C.TABLE_SCHEM =
   'PUBLIC' AND C.TABLE_NAME = 'TESTALTER_TBL';

Yukarıdaki komutu uyguladıktan sonra, aşağıdaki çıktıyı alacaksınız.

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