PostgreSQL สร้างมุมมองพร้อมตัวอย่าง
ความหมายของ PostgreSQL ดู?
In PostgreSQLมุมมองเป็นตารางหลอก ซึ่งหมายความว่ามุมมองไม่ใช่ตารางจริง แต่เราสามารถเลือกให้เป็นตารางธรรมดาได้ มุมมองสามารถมีคอลัมน์ตารางทั้งหมดหรือบางส่วนได้ มุมมองยังสามารถเป็นตัวแทนของตารางได้มากกว่าหนึ่งตาราง
ตารางจะเรียกว่าตารางฐาน เมื่อสร้างมุมมอง คุณเพียงแค่ต้องสร้างแบบสอบถาม จากนั้นตั้งชื่อให้ ทำให้เป็นเครื่องมือที่มีประโยชน์สำหรับการรวมแบบสอบถามที่ซับซ้อนและใช้กันทั่วไป
การสร้าง PostgreSQL เข้าชม
เพื่อสร้าง PostgreSQL ดูเราใช้คำสั่ง CREATE VIEW นี่คือไวยากรณ์สำหรับคำสั่งนี้:
CREATE [OR REPLACE] VIEW view-name AS SELECT column(s) FROM table(s) [WHERE condition(s)];
พารามิเตอร์ OR REPLACE จะแทนที่มุมมองหากมีอยู่แล้ว หากละเว้นและมีมุมมองอยู่แล้ว ข้อผิดพลาดจะถูกส่งกลับ
พารามิเตอร์ชื่อมุมมองคือชื่อของมุมมองที่คุณต้องการสร้าง
เงื่อนไข WHERE เป็นตัวเลือก และต้องเป็นไปตามเงื่อนไขจึงจะเพิ่มเรกคอร์ดใดๆ ลงในมุมมองได้
พิจารณาตารางราคาที่ระบุด้านล่าง:
ราคา:
ให้เราสร้างมุมมองจากตารางด้านบน:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
คำสั่งดังกล่าวจะสร้างมุมมองตาม คำสั่ง SELECT- เฉพาะเรกคอร์ดที่มีราคามากกว่า 200 เท่านั้นที่จะถูกเพิ่มลงในมุมมอง มุมมองได้รับการตั้งชื่อว่า Price_View ให้เราสอบถามเพื่อดูเนื้อหา:
SELECT * FROM Price_View;
สิ่งนี้ส่งคืนสิ่งต่อไปนี้:
แม้ว่าตารางฐานจะมี 4 เรกคอร์ด แต่มีเพียง 2 รายการเท่านั้นที่ถูกเพิ่มลงในมุมมอง
ที่นี่ เราสามารถเพิ่มได้เพียงคอลัมน์เดียวในมุมมอง ให้เราสร้างมุมมองที่รวมเพียงคอลัมน์เดียวของตารางราคา:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
มุมมองได้รับการตั้งชื่อว่า Price_View2 และรวมเฉพาะคอลัมน์ราคาของตารางราคา ให้เราสอบถามมุมมองเพื่อดูเนื้อหา:
SELECT * FROM Price_View2;
สิ่งนี้ส่งคืนสิ่งต่อไปนี้:
เปลี่ยนแปลง PostgreSQL เข้าชม
คำจำกัดความของมุมมองสามารถเปลี่ยนแปลงได้โดยไม่ต้องละทิ้ง ซึ่งทำได้โดยใช้คำสั่ง CREATE OR REPLACE VIEW
ให้เราสาธิตสิ่งนี้โดยการอัปเดตมุมมองชื่อ Price_View2
ราคา_ดู2:
ตารางหนังสือมีดังนี้:
หนังสือ:
ตารางราคามีดังนี้:
ราคา:
แบบสอบถามต่อไปนี้จะช่วยให้เราอัปเดตมุมมอง Price_View2:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
ให้เราสอบถามมุมมองเพื่อดูเนื้อหา:
มุมมองมีการเปลี่ยนแปลง และตอนนี้เรามีสองคอลัมน์จากสองตารางที่แตกต่างกัน สิ่งนี้สามารถทำได้โดยใช้คำสั่ง JOIN
ลบ PostgreSQL เข้าชม
เมื่อใดก็ตามที่คุณต้องการลบ PostgreSQL ดู. คุณสามารถใช้คำสั่ง DROP VIEW นี่คือไวยากรณ์สำหรับคำสั่ง:
DROP VIEW [IF EXISTS] view-name;
ชื่อมุมมองพารามิเตอร์คือชื่อของมุมมองที่จะถูกลบ
ในรูปแบบนี้ IF EXISTS เป็นทางเลือก มันเป็นสิ่งจำเป็นเท่านั้น หากคุณไม่ระบุและพยายามลบมุมมองที่ไม่มีอยู่ คุณจะได้รับข้อผิดพลาด
ตัวอย่างเช่น หากต้องการลบมุมมองที่ชื่อ Price_View2 เราสามารถรันคำสั่งต่อไปนี้:
DROP VIEW Price_View2;
มุมมองจะถูกลบ
การใช้งาน pgAdmin
ตอนนี้เรามาดูกันว่าการกระทำเหล่านี้สามารถทำได้โดยใช้ pgAdmin อย่างไร
การสร้าง PostgreSQL เข้าชม
หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:
ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ
ขั้นตอน 2)
- จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
- คลิกสาธิต
ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:
CREATE VIEW Price_View AS SELECT id, price FROM Price WHERE price > 200;
ขั้นตอน 4) คลิกปุ่มดำเนินการ
ขั้นตอนที่ 5) เมื่อต้องการดูเนื้อหาของมุมมอง ให้ทำดังต่อไปนี้:
- พิมพ์คำสั่งต่อไปนี้ในตัวแก้ไขแบบสอบถาม:
- คลิกปุ่มดำเนินการ
SELECT * FROM Price_View;
สิ่งนี้จะส่งคืนสิ่งต่อไปนี้:
ในการสร้างมุมมอง Price_View2 ให้ทำดังต่อไปนี้:
ขั้นตอน 1) พิมพ์แบบสอบถามต่อไปนี้ในตัวแก้ไขแบบสอบถาม:
CREATE VIEW Price_View2 AS SELECT price FROM Price WHERE price > 200;
ขั้นตอนที่ 2) คลิกปุ่มดำเนินการ
ขั้นตอน 3) หากต้องการดูเนื้อหาของมุมมอง ให้ทำดังต่อไปนี้:
- พิมพ์แบบสอบถามต่อไปนี้ในตัวแก้ไขแบบสอบถาม:
- คลิกปุ่มดำเนินการ
SELECT * FROM Price_View2;
สิ่งนี้จะส่งคืนสิ่งต่อไปนี้:
เปลี่ยนแปลง PostgreSQL เข้าชม
หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:
ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ
ขั้นตอน 2)
- จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
- คลิกสาธิต
ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:
CREATE or REPLACE VIEW Price_View2 AS SELECT price, name FROM Book INNER JOIN Price ON Book.id = Price.id WHERE price > 200;
ขั้นตอน 4) คลิกปุ่มดำเนินการ
ขั้นตอน 5) พิมพ์แบบสอบถามต่อไปนี้ในตัวแก้ไขแบบสอบถาม:
SELECT * FROM Price_View2;
สิ่งนี้จะส่งคืนสิ่งต่อไปนี้:
ลบ PostgreSQL เข้าชม
หากต้องการบรรลุผลเช่นเดียวกันผ่าน pgAdmin ให้ทำดังนี้:
ขั้นตอน 1) เข้าสู่ระบบบัญชี pgAdmin ของคุณ
ขั้นตอน 2)
- จากแถบนำทางทางด้านซ้ายให้คลิกฐานข้อมูล
- คลิกสาธิต
ขั้นตอน 3) พิมพ์แบบสอบถามในตัวแก้ไขแบบสอบถาม:
DROP VIEW Price_View2;
ขั้นตอน 4) คลิกปุ่มดำเนินการ
มุมมองจะถูกลบ
สรุป
- A PostgreSQL view เป็นตารางหลอก หมายความว่าไม่ใช่ตารางจริง
- สามารถสร้างมุมมองจากตารางตั้งแต่หนึ่งตารางขึ้นไป
- ตารางที่ใช้สร้างมุมมองเรียกว่าตารางฐาน
- ในการสร้างมุมมอง เราใช้คำสั่ง CREATE OR REPLACE VIEW
- หากต้องการเปลี่ยนคำจำกัดความของมุมมอง เราใช้คำสั่ง CREATE OR REPLACE VIEW
- หากต้องการลบมุมมอง เราใช้คำสั่ง DROP VIEW
ดาวน์โหลดฐานข้อมูลที่ใช้ในบทช่วยสอนนี้