PostgreSQL แก้ไขตาราง: เพิ่มคอลัมน์ เปลี่ยนชื่อคอลัมน์/ตัวอย่างตาราง

คำสั่ง ALTER TABLE ใช้เพื่อแก้ไขโครงสร้างของ PostgreSQL โต๊ะ. เป็นคำสั่งที่ใช้ในการเปลี่ยนคอลัมน์ของตารางหรือชื่อของตาราง

วากยสัมพันธ์

นี่คือไวยากรณ์สำหรับ PostgreSQL คำสั่งแก้ไขตาราง:

ALTER TABLE table-name action;

พารามิเตอร์ชื่อตารางคือชื่อของตารางที่คุณต้องการเปลี่ยนแปลง

พารามิเตอร์การกระทำคือการกระทำที่คุณต้องดำเนินการ เช่น การเปลี่ยนชื่อคอลัมน์ การเปลี่ยนประเภทข้อมูลของคอลัมน์ เป็นต้น

Descriptไอออน

คำสั่ง ALTER TABLE จะเปลี่ยนคำจำกัดความของตารางที่มีอยู่ โดยจะมีฟอร์มย่อยดังต่อไปนี้:

  • เพิ่มคอลัมน์: ใช้ไวยากรณ์ที่คล้ายกันเป็นคำสั่ง CREATE TABLE เพื่อเพิ่มคอลัมน์ใหม่ลงในตาราง
  • วางคอลัมน์: สำหรับการวางคอลัมน์ของตาราง ข้อจำกัดและดัชนีที่กำหนดในคอลัมน์ก็จะหายไปเช่นกัน
  • ตั้งค่า/วางค่าเริ่มต้น: ใช้สำหรับลบค่าเริ่มต้นของคอลัมน์ อย่างไรก็ตาม การเปลี่ยนแปลงจะมีผลกับการเปลี่ยนแปลงครั้งถัดไปเท่านั้น คำสั่ง INSERT.
  • SET/DROP ไม่เป็นโมฆะ: เปลี่ยนว่าคอลัมน์จะอนุญาตให้มีค่าว่างหรือไม่
  • ตั้งค่าสถิติ: สำหรับตั้งค่าเป้าหมายการรวบรวมสถิติสำหรับแต่ละคอลัมน์สำหรับการดำเนินการวิเคราะห์
  • ตั้งค่าการจัดเก็บ: สำหรับกำหนดโหมดการจัดเก็บคอลัมน์ วิธีนี้จะกำหนดตำแหน่งที่จะจัดคอลัมน์ ไม่ว่าจะเป็นแบบอินไลน์หรือในตารางเสริม
  • ตั้งค่าโดยไม่มี OIDS: ใช้สำหรับลบคอลัมน์เก่าของตาราง
  • เปลี่ยนชื่อ: สำหรับการเปลี่ยนชื่อตารางหรือชื่อคอลัมน์
  • เพิ่ม table_constraint: ใช้สำหรับเพิ่มข้อจำกัดใหม่ให้กับตาราง โดยจะใช้ไวยากรณ์เดียวกันกับ สร้างตาราง คำสั่ง
  • วางข้อ จำกัด: ใช้สำหรับวางข้อจำกัดของตาราง
  • OWNER: สำหรับเปลี่ยนเจ้าของตาราง ลำดับ ดัชนี หรือมุมมองให้กับผู้ใช้บางราย
  • กลุ่ม:สำหรับการทำเครื่องหมายตารางที่จะใช้ในการดำเนินการคลัสเตอร์ในอนาคต

การปรับเปลี่ยนคอลัมน์

คอลัมน์สามารถแก้ไขได้หลายวิธี การแก้ไขดังกล่าวสามารถทำได้โดยใช้คำสั่ง ALTER TABLE ให้เราหารือเรื่องเหล่านี้:

การเพิ่มคอลัมน์ใหม่

หากต้องการเพิ่มคอลัมน์ใหม่ให้กับ PostgreSQL ตาราง คำสั่ง ALTER TABLE ใช้รูปแบบต่อไปนี้:

ALTER TABLE table-name
  ADD new-column-name column-definition;

ชื่อตารางคือชื่อของตารางที่จะแก้ไข

ชื่อคอลัมน์ใหม่คือชื่อของคอลัมน์ใหม่ที่จะเพิ่ม

คำจำกัดความของคอลัมน์คือ ประเภทข้อมูล ของคอลัมน์ใหม่

ดูตารางหนังสือที่แสดงด้านล่าง:

การเพิ่มคอลัมน์ใหม่เข้าไป PostgreSQL

ตารางมีสองคอลัมน์ คือ id และ name เราต้องเพิ่มคอลัมน์ใหม่ลงในตารางและตั้งชื่อว่า author เพียงรันคำสั่งต่อไปนี้:

ALTER TABLE Book
  ADD author VARCHAR(50);

หลังจากรันคำสั่งข้างต้นแล้ว ตาราง Book จะเป็นดังนี้:

การเพิ่มคอลัมน์ใหม่เข้าไป PostgreSQL

เพิ่มคอลัมน์ใหม่สำเร็จแล้ว

การเปลี่ยนชื่อคอลัมน์ของตาราง

เราสามารถใช้คำสั่ง ALTER TABLE เพื่อเปลี่ยนชื่อคอลัมน์ได้ ในกรณีนี้ คำสั่งนี้จะใช้รูปแบบต่อไปนี้:

ALTER TABLE table-name
  RENAME COLUMN old-name TO new-name;

ชื่อตารางคือชื่อของตารางที่จะเปลี่ยนชื่อคอลัมน์

ชื่อเก่าคือชื่อเก่า/ปัจจุบันของคอลัมน์

ชื่อใหม่คือชื่อใหม่ของคอลัมน์ พิจารณาตารางหนังสือที่แสดงด้านล่าง:

หนังสือ:

การเปลี่ยนชื่อคอลัมน์ของตารางใน PostgreSQL

เราต้องการชื่อผู้เขียนคอลัมน์เป็น book_author นี่คือคำสั่ง:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

หลังจากรันคำสั่งแล้ว เราจะสามารถดูโครงสร้างของตารางได้:

การเปลี่ยนชื่อคอลัมน์ของตารางใน PostgreSQL

เปลี่ยนชื่อคอลัมน์เรียบร้อยแล้ว

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

เราสามารถตั้งค่าเริ่มต้นสำหรับคอลัมน์ได้ โดยค่าเริ่มต้นก็จะถูกนำมาใช้แม้ว่าคุณจะไม่ได้ระบุค่าสำหรับคอลัมน์นั้นในระหว่างการดำเนินการ INSERT ก็ตาม ในกรณีนี้ สามารถใช้คำสั่ง ALTER TABLE ได้โดยใช้รูปแบบต่อไปนี้:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

ชื่อตารางคือชื่อของตารางที่จะแก้ไขคอลัมน์

ชื่อคอลัมน์คือชื่อที่จะตั้งค่าเริ่มต้น

ค่านี้เป็นค่าเริ่มต้นสำหรับคอลัมน์

พิจารณาตารางหนังสือที่ระบุด้านล่าง:

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

เราจำเป็นต้องตั้งค่าเริ่มต้นสำหรับคอลัมน์ book_author เราสามารถรันคำสั่งต่อไปนี้:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

ตอนนี้ให้เราแทรกแถวลงในตาราง:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners');

โปรดทราบว่าเราได้แทรกค่าสำหรับสองคอลัมน์เท่านั้น ได้แก่ id และชื่อ อย่างไรก็ตาม มีการใช้ค่าเริ่มต้นสำหรับคอลัมน์ book_author:

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

การเพิ่มข้อจำกัดในการตรวจสอบ

ข้อจำกัดในการตรวจสอบช่วยในการตรวจสอบความถูกต้องของเรกคอร์ดที่ถูกแทรกลงในตาราง เราสามารถทำได้โดยการรวมคำสั่ง ALTER TABLE เข้ากับคำสั่ง ADD CHECK ไวยากรณ์:

ALTER TABLE table-name ADD CHECK expression;

ชื่อตารางคือชื่อของตารางที่จะแก้ไข

นิพจน์คือข้อจำกัดที่จะกำหนดให้กับคอลัมน์ในตาราง

ให้เราแก้ไขคอลัมน์ book_author ของตาราง Book เพื่อให้ยอมรับเฉพาะค่าเท่านั้น Nicholas และ Samuel:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));

ตอนนี้ ให้เราลองแทรกค่าอื่นที่ไม่ใช่ Nicholas หรือ Samuel ลงในคอลัมน์ book_author ของตาราง Book:

INSERT INTO Book
VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

คำสั่งจะส่งกลับข้อผิดพลาดต่อไปนี้:

การเพิ่มข้อจำกัดในการตรวจสอบ

การดำเนินการแทรกล้มเหลวเนื่องจากเราละเมิดข้อจำกัดการตรวจสอบ

การเปลี่ยนชื่อตาราง

ต่อไปนี้เป็นไวยากรณ์สำหรับคำสั่ง ALTER TABLE สำหรับการเปลี่ยนชื่อตาราง:

ALTER TABLE table-name
  RENAME TO new-table-name;

ชื่อตารางคือชื่อปัจจุบันของตาราง

ชื่อตารางใหม่คือชื่อใหม่ที่จะกำหนดให้กับตาราง

ตัวอย่างเช่น ให้เราเปลี่ยนชื่อตาราง Book เป็น Books:

ALTER TABLE Book
  RENAME TO Books;

การใช้งาน pgAdmin

ตอนนี้เรามาดูกันว่าการกระทำเหล่านี้สามารถทำได้โดยใช้ pgAdmin อย่างไร

การเพิ่มคอลัมน์ใหม่

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การเพิ่มคอลัมน์ใหม่โดยใช้ pgAdmin

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

ALTER TABLE Book
  ADD author VARCHAR(50);

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การเพิ่มคอลัมน์ใหม่โดยใช้ pgAdmin

ขั้นตอน 5) ในการตรวจสอบว่ามีการเพิ่มคอลัมน์หรือไม่ ให้ทำดังต่อไปนี้:

  1. คลิกฐานข้อมูลจากการนำทางด้านซ้าย
  2. ขยายการสาธิต
  3. ขยายสคีมา
  4. ขยายสาธารณะ
  5. ขยายตาราง
  6. ขยายหนังสือ.
  7. ขยายคอลัมน์

การเพิ่มคอลัมน์ใหม่โดยใช้ pgAdmin

ควรเพิ่มคอลัมน์ดังที่แสดงด้านล่าง:

การเพิ่มคอลัมน์ใหม่โดยใช้ pgAdmin

การเปลี่ยนชื่อคอลัมน์ของตาราง

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การเปลี่ยนชื่อคอลัมน์ตารางโดยใช้ pgAdmin

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การเปลี่ยนชื่อคอลัมน์ตารางโดยใช้ pgAdmin

ขั้นตอน 5) หากต้องการตรวจสอบว่าการเปลี่ยนแปลงสำเร็จหรือไม่ ให้ทำดังต่อไปนี้:

  1. คลิกฐานข้อมูลจากการนำทางด้านซ้าย
  2. ขยายการสาธิต
  3. ขยายสคีมา
  4. ขยายสาธารณะ
  5. ขยายตาราง
  6. ขยายหนังสือ.
  7. ขยายคอลัมน์

การเปลี่ยนชื่อคอลัมน์ตารางโดยใช้ pgAdmin

ตอนนี้คอลัมน์ควรเป็นดังนี้:

การเปลี่ยนชื่อคอลัมน์ตารางโดยใช้ pgAdmin

เปลี่ยนคอลัมน์เรียบร้อยแล้ว

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

ขั้นตอน 5) หากต้องการทดสอบ ให้เรียกใช้คำสั่งต่อไปนี้บนตัวแก้ไขแบบสอบถาม:

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners')

ขั้นตอน 6) ตอนนี้เราสามารถสอบถามตารางเพื่อตรวจสอบว่าค่าเริ่มต้นถูกแทรกลงในคอลัมน์ book_author หรือไม่:

การตั้งค่าเริ่มต้นสำหรับคอลัมน์

การเพิ่มข้อจำกัดในการตรวจสอบ

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การเพิ่มข้อจำกัดการตรวจสอบโดยใช้ pgAdmin

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การเพิ่มข้อจำกัดการตรวจสอบโดยใช้ pgAdmin

ขั้นตอน 5) หากต้องการทดสอบ ให้ทำดังต่อไปนี้:

  1. พิมพ์แบบสอบถามต่อไปนี้ในตัวแก้ไขแบบสอบถาม:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. คลิกปุ่มดำเนินการ

    การเพิ่มข้อจำกัดการตรวจสอบโดยใช้ pgAdmin

    มันจะกลับมาสิ่งต่อไปนี้:

การเพิ่มข้อจำกัดการตรวจสอบโดยใช้ pgAdmin

การเปลี่ยนชื่อตาราง

หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:

ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ

ขั้นตอน 2)

  1. จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
  2. คลิกสาธิต

การเปลี่ยนชื่อตารางโดยใช้ pgAdmin

ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:

ALTER TABLE Book
  RENAME TO Books;

ขั้นตอน 4) คลิกปุ่มดำเนินการ

การเปลี่ยนชื่อตารางโดยใช้ pgAdmin

ขั้นตอน 5) หากต้องการตรวจสอบว่าตารางได้รับการเปลี่ยนชื่อหรือไม่ ให้ทำดังต่อไปนี้:

  1. คลิกฐานข้อมูลจากการนำทางด้านซ้าย
  2. ขยายการสาธิต
  3. ขยายสคีมา
  4. ขยายสาธารณะ
  5. ขยายตาราง

การเปลี่ยนชื่อตารางโดยใช้ pgAdmin

เปลี่ยนชื่อตารางสำเร็จแล้ว

สรุป

  • คำสั่ง ALTER TABLE ใช้เพื่อปรับเปลี่ยนโครงสร้างของตาราง
  • คำสั่ง ALTER TABLE มีรูปแบบหลากหลายขึ้นอยู่กับงานที่คุณต้องดำเนินการ
  • โครงสร้างอาจเป็นคอลัมน์ของตารางหรือตัวตารางก็ได้
  • เราสามารถใช้คำสั่งนี้เพื่อเปลี่ยนชื่อตารางได้
  • คำสั่ง ALTER TABLE สามารถใช้เพื่อตั้งค่าเริ่มต้นของคอลัมน์ได้
  • คำสั่งนี้สามารถใช้เพื่อตรวจสอบค่าที่ป้อนลงในคอลัมน์ของตารางได้

ดาวน์โหลดฐานข้อมูลที่ใช้ในบทช่วยสอนนี้