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

การวางหรือการเพิ่มคอลัมน์

เมื่อใดก็ตามที่คุณต้องการ DROP คอลัมน์ที่มีอยู่จากตาราง HSQLDB คุณสามารถใช้คำสั่ง DROP ร่วมกับคำสั่ง ALTER

ใช้แบบสอบถามต่อไปนี้เพื่อวางคอลัมน์ (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 คุณสามารถใช้คำสั่ง 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 - มี datatypes 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';

หลังจากดำเนินการคำสั่งข้างต้นคุณจะได้รับผลลัพธ์ต่อไปนี้

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