Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การลบแถวออกจากมุมมองจะลบแถวออกจากตารางฐานใน MySQL หรือไม่


ใช่ การลบแถวออกจากมุมมอง ลบแถวออกจากตารางฐาน ให้เราเข้าใจสิ่งนี้ด้วยการสร้างตารางใหม่ แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง deleteFromBaseTableDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.83 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า deleteFromBaseTableDemo(Name) ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า deleteFromBaseTableDemo (ชื่อ) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงในค่า deleteFromBaseTableDemo (ชื่อ) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า deleteFromBaseTableDemo (ชื่อ) ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.14 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก deleteFromBaseTableDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น || 2 | แครอล || 3 | บ๊อบ || 4 | แซม |+----+-------+4 แถวในชุด (0.00 วินาที)

ให้เราสร้างมุมมอง แบบสอบถามเพื่อสร้างมุมมองมีดังนี้

mysql> สร้างมุมมอง delete_view เป็น select Id,Name from deleteFromBaseTableDemo;Query OK, 0 แถวได้รับผลกระทบ (0.17 วินาที)

ให้เราตรวจสอบบันทึกมุมมองทั้งหมด แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก delete_view;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น | | 2 | แครอล || 3 | บ๊อบ || 4 | แซม |+----+-------+4 แถวในชุด (0.05 วินาที)

ตอนนี้ถ้าคุณลบออกจากมุมมอง มันจะลบออกจากตารางฐานโดยอัตโนมัติด้วย

แบบสอบถามการลบแถวออกจากมุมมองมีดังนี้

mysql> ลบจาก delete_view โดยที่ Id=4;Query OK ได้รับผลกระทบ 1 แถว (0.26 วินาที)

ให้เราตรวจสอบระเบียนทั้งหมดจากมุมมองและตารางหลัก แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก delete_view;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น || 2 | แครอล || 3 | Bob |+----+-------+3 แถวในชุด (0.00 วินาที)

แบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางฐานมีดังนี้

mysql> เลือก *จาก deleteFromBaseTableDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น || 2 | แครอล || 3 | Bob |+----+-------+3 แถวในชุด (0.00 วินาที)

ดูทั้งเอาต์พุตตัวอย่าง ID ที่มีค่า 4 ถูกลบออกจากตารางหลักและจากมุมมองแล้ว