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