HSQLDB - Perintah Alter

Kapan pun ada kebutuhan untuk mengubah nama tabel atau bidang, mengubah urutan bidang, mengubah tipe data bidang, atau struktur tabel apa pun, Anda dapat mencapai hal yang sama menggunakan perintah ALTER.

Contoh

Mari kita pertimbangkan contoh yang menjelaskan perintah ALTER menggunakan skenario yang berbeda.

Gunakan kueri berikut untuk membuat tabel bernama testalter_tbl dengan ladang ' id dan 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';

Setelah menjalankan query di atas, Anda akan menerima keluaran berikut.

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

Menjatuhkan atau Menambahkan Kolom

Kapanpun Anda ingin DROP kolom yang ada dari tabel HSQLDB, Anda dapat menggunakan klausa DROP bersama dengan perintah ALTER.

Gunakan kueri berikut untuk menjatuhkan kolom (name) dari tabel testalter_tbl.

ALTER TABLE testalter_tbl DROP name;

Setelah berhasil mengeksekusi kueri di atas, Anda dapat mengetahui apakah bidang nama dihapus dari tabel testalter_tbl menggunakan perintah berikut.

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

Setelah menjalankan perintah di atas, Anda akan menerima output berikut.

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

Kapanpun Anda ingin menambahkan kolom apapun ke dalam tabel HSQLDB, Anda dapat menggunakan klausa ADD bersama dengan perintah ALTER.

Gunakan kueri berikut untuk menambahkan kolom bernama NAME Ke meja testalter_tbl.

ALTER TABLE testalter_tbl ADD name VARCHAR(10);

Setelah berhasil mengeksekusi query di atas, Anda bisa mengetahui apakah field name ditambahkan ke tabel testalter_tbl menggunakan perintah berikut.

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

Setelah menjalankan query di atas, Anda akan menerima keluaran berikut.

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

Mengubah Definisi atau Nama Kolom

Setiap kali ada persyaratan untuk mengubah definisi kolom, gunakan MODIFY atau CHANGE klausa bersama dengan ALTER perintah.

Mari kita perhatikan contoh yang akan menjelaskan bagaimana menggunakan klausa CHANGE. Mejatestalter_tblberisi dua bidang - id dan nama - memiliki tipe data int dan varchar masing-masing. Sekarang mari kita coba mengubah tipe data id dari INT ke BIGINT. Berikut ini adalah query untuk melakukan perubahan.

ALTER TABLE testalter_tbl CHANGE id id BIGINT;

Setelah eksekusi query di atas berhasil, struktur tabel dapat diverifikasi menggunakan perintah berikut.

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

Setelah menjalankan perintah di atas, Anda akan menerima output berikut.

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

Sekarang mari kita coba untuk meningkatkan ukuran kolom NAME dari 10 menjadi 20 di testalter_tblmeja. Berikut ini adalah kueri untuk mencapai ini menggunakan klausa MODIFY bersama dengan perintah ALTER.

ALTER TABLE testalter_tbl MODIFY name VARCHAR(20);

Setelah eksekusi query di atas berhasil, struktur tabel dapat diverifikasi menggunakan perintah berikut.

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

Setelah menjalankan perintah di atas, Anda akan menerima output berikut.

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