MySQL ลบแถวหรือแถว

Mysql Delete Row Rows



MySQL เป็นเฟรมเวิร์กการจัดการโอเพ่นซอร์สฟรีสำหรับฐานข้อมูลเชิงสัมพันธ์ ในการทำงานกับมัน คุณต้องติดตั้งมันบนระบบของคุณก่อนด้วยยูทิลิตี้ที่จำเป็นทั้งหมด เช่น ไคลเอนต์ workbench และบรรทัดคำสั่ง เปิดเวิร์กเบนช์ MySQL ที่เพิ่งติดตั้งใหม่ดังนี้ คุณต้องเชื่อมต่อโต๊ะทำงานของคุณกับฐานข้อมูลเพื่อเริ่มทำงานอย่างถูกต้อง หลังจากนั้น คุณต้องสร้างสคีมาใหม่เพื่อดำเนินการค้นหาข้อมูลที่แตกต่างกัน







ก่อนอื่น คุณต้องมีข้อมูลบางอย่างในสคีมาฐานข้อมูลของคุณเพื่อดำเนินการสืบค้นข้อมูล มาสร้างตารางชื่อ 'นักเรียน' ในฐานข้อมูล 'ข้อมูล' โดยใช้คิวรี CREATE ใน MYSQL Workbench หรือไคลเอนต์บรรทัดคำสั่ง ตาราง 'นักเรียน' มีหกคอลัมน์: 'id', 'firstname', 'lastname', 'email', 'reg_date' และ 'class' เราจะเพิ่มค่าลงในคอลัมน์โดยใช้มุมมองกริดตามด้านล่าง และคลิกที่ปุ่ม 'นำไปใช้' เพื่อบันทึกการเปลี่ยนแปลง ตอนนี้คุณสามารถทำการอัปเดตใดๆ กับเรกคอร์ดเหล่านี้ได้





ลบผ่าน Workbench Interface

วิธีง่ายๆ ในการลบแถว/แถวออกจากตาราง MySQL คือผ่านมุมมองตารางปรับแต่ง เนื่องจากเรามีตาราง 'นักเรียน' ที่มีระเบียน 10 รายการ หากต้องการลบแถวเดียวออกจากตาราง คุณต้องเลือกแถวที่ต้องการแล้วกดไอคอนลบแถวจากหน้าต่างกริดตามที่เราเลือก 10NSแถวและกดไอคอนที่ไฮไลต์ด้านล่าง





หลังจากแตะที่ไอคอนลบ คุณจะเห็นว่า 10NSแถวและระเบียนถูกลบออกจากตาราง 'นักเรียน' หากคุณต้องการลบมากกว่าหนึ่งแถว คุณต้องเลือกมากกว่าหนึ่งแถวติดต่อกัน



ลบ Single Row ผ่าน Command-Line

อีกวิธีง่ายๆ ในการลบแถวออกจาก MySQL schema คือการใช้ไคลเอ็นต์บรรทัดคำสั่ง เปิดไคลเอนต์บรรทัดคำสั่ง MySQL ภายใต้ 'MySql' ที่เพิ่งติดตั้งใหม่ผ่านปุ่ม 'หน้าต่าง' ก่อนอื่น ตรวจสอบและแสดงบันทึกทั้งหมดของตาราง 'นักเรียน' โดยใช้คำสั่ง 'เลือก' ดังต่อไปนี้

>> เลือก * จาก ข้อมูล .นักเรียน สั่งโดย NS;

ตัวอย่างที่ 01: การใช้เงื่อนไขเดียวใน WHERE Clause
มาลบแถวเดียวโดยใช้ส่วนคำสั่ง 'WHERE' ในแบบสอบถาม 'DELETE' เรากำลังลบแถวที่ 'นามสกุล = Waleed' ซึ่งเป็นแถวที่ 10 ด้านบน มาลองกันเป็น:

>> ลบ จาก ข้อมูล .นักเรียน ที่ไหน นามสกุล='วาลีด';

ถูกลบเรียบร้อยแล้วเนื่องจากแสดงว่า 'Query OK, 1 แถวได้รับผลกระทบ'

ในการแสดงทุกแถวของตาราง 'นักเรียน' เราจะเห็นว่าบันทึกของ 10NSแถวถูกลบออกจากตาราง

ใช้แบบสอบถาม 'DELETE' เดียวกันในตัวนำทางของโต๊ะทำงานเพื่อลบเรกคอร์ดตามที่แสดง

ตัวอย่างที่ 02: การใช้มากกว่าหนึ่งเงื่อนไขใน WHERE Clause
คุณยังสามารถลบแถวเดียวออกจากตารางได้โดยใช้มากกว่าหนึ่งเงื่อนไขในแบบสอบถาม 'DELETE' ของ MySQL เราใช้สองเงื่อนไขในส่วนคำสั่ง 'WHERE' เช่น 'lastname = khursheed' และ 'id > 7' ข้อความค้นหานี้จะลบเฉพาะแถวที่มีรหัสมากกว่า '7' และนามสกุลคือ 'khursheed' ในกรณีของเราคือ 9NSแถว.

>> ลบ จาก ข้อมูล .นักเรียน ที่ไหน นามสกุล='คูร์ชีด' และ NS> 7;

The 9NSแถวถูกลบเรียบร้อยแล้วตามที่แจ้งว่า 'แบบสอบถามตกลง 1 แถวได้รับผลกระทบ'

ในการตรวจสอบ เราเหลือเพียง 8 แถวในตาราง The 9NSแถวถูกลบออกจากตารางดังที่แสดงด้านล่าง

ตัวอย่างที่ 03: การใช้เงื่อนไข LIMIT ใน WHERE Clause
นอกจากนี้เรายังสามารถลบแถวเดียวโดยใช้คำสั่ง 'LIMIT' ในการสืบค้น 'DELETE' ในแบบสอบถามนี้ เราต้องกำหนดขีดจำกัดเป็น '1' สำหรับการลบแถวเดียว เราได้กำหนดค่าขีดจำกัดเป็น '1' ในส่วนคำสั่ง 'WHERE' ของข้อความค้นหา 'DELETE' มันจะลบเฉพาะแถวแรกจากระเบียนทั้งหมดที่มี 'lastname = Awan' ซึ่งเป็นแถวที่ 2

>> ลบ จาก ข้อมูล .นักเรียน ที่ไหน นามสกุล='คลาวด์' สั่งโดย NS LIMIT 1;

ใช้แบบสอบถาม 'เลือก' เพื่อตรวจสอบตารางที่อัปเดต จะเห็นว่า2NSไม่มีแถวในตารางดังที่แสดงด้านล่าง และเราเหลือเพียง 7 แถวเท่านั้น

ลบหลายแถวผ่าน Command-Line

ให้เราอัปเดตตาราง 'นักเรียน' ก่อนโดยเพิ่มระเบียนบางส่วนเพื่อให้เราสามารถลบหลายแถวได้ มาแสดงบันทึกของตารางที่มีนามสกุลเป็น 'Awan' โดยใช้แบบสอบถาม 'SELECT' ที่มีส่วนคำสั่ง WHERE เท่านั้น ข้อความค้นหานี้จะแสดงเพียง 4 แถว เนื่องจากเรามีเพียง 4 ระเบียนสำหรับคอลัมน์ 'lastname = Awan'

>> เลือก * จาก ข้อมูล .นักเรียน ที่ไหน นามสกุล='คลาวด์';

ตัวอย่างที่ 01: การใช้เงื่อนไข LIMIT ใน WHERE Clause
หากต้องการลบหลายแถวออกจากตาราง เราสามารถใช้เงื่อนไข 'LIMIT' ในส่วนคำสั่ง 'WHERE' ของข้อความค้นหา 'DELETE' เราแค่ต้องกำหนด 'LIMIT' ที่ไม่ใช่ 1 หรือจำนวนลบใดๆ ดังนั้นเราจึงกำหนด 'LIMIT' เป็น '3' เพื่อลบ 3 แถวออกจากตาราง มันจะลบสามแถวแรกของระเบียนที่มี 'นามสกุล' เป็น 'Awan'

>> ลบ จาก ข้อมูล .นักเรียน ที่ไหน นามสกุล='คลาวด์' สั่งโดย NS LIMIT 3;

แสดงระเบียนที่เหลือของตารางโดยใช้แบบสอบถาม 'SELECT' คุณจะเห็นว่าเหลือเพียง 1 ระเบียนสำหรับ 'นามสกุล' ที่มีค่า 'Awan' และสามแถวถูกลบไปแล้ว

ตัวอย่างที่ 02: การใช้มากกว่าหนึ่งเงื่อนไขใน WHERE Clause
เราใช้สิ่งเดียวกันเหนือตารางและกำหนดสองเงื่อนไขในส่วนคำสั่ง 'WHERE' เพื่อลบแถวที่มี 'id' มากกว่า 2 และน้อยกว่า 9 ดังนี้:

>> ลบ จาก ข้อมูล .นักเรียน ที่ไหน NS> 2 และ NS< 9;

เราเหลือเพียง 2 แถวในตารางขณะตรวจสอบระเบียน

ตัวอย่าง 03: ลบแถวทั้งหมด
คุณสามารถลบแถวทั้งหมดออกจากตาราง 'นักเรียน' โดยใช้แบบสอบถามง่ายๆ ด้านล่างในบรรทัดคำสั่งดังนี้:

>> ลบ จาก ข้อมูล .นักเรียน;

ขณะพยายามแสดงระเบียน คุณจะได้รับชุดตารางว่าง

บทสรุป

เราได้ดูวิธีต่างๆ ในการลบแถวเดียวและหลายแถวออกจากตารางในขณะที่ทำงานใน MySQL ผ่านอินเทอร์เฟซไคลเอ็นต์ของ workbench และบรรทัดคำสั่ง