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

ความแตกต่างของ MySQL จาก Standard SQL


ให้เราเข้าใจความแตกต่างระหว่าง MySQL และ Standard SQL MySQL ดำเนินการหลายอย่างแตกต่างกันในบางกรณี -

สิทธิพิเศษ

มีความแตกต่างมากมายระหว่าง MySQL และ SQL มาตรฐานที่เกี่ยวกับสิทธิ์ที่มอบให้กับผู้ใช้ ใน MySQL สิทธิ์สำหรับตารางจะไม่ถูกเพิกถอนโดยอัตโนมัติเมื่อตารางถูกลบ ต้องมีการออกคำสั่ง REVOKE อย่างชัดเจนเพื่อเพิกถอนสิทธิ์สำหรับตาราง

ข้อจำกัดของคีย์ต่างประเทศ

การใช้ MySQL ของข้อจำกัดของคีย์ภายนอกนั้นแตกต่างจากมาตรฐาน SQL หากมีหลายแถวในตารางพาเรนต์ที่มีค่าคีย์อ้างอิงเหมือนกัน เอ็นจิน InnoDB จะทำการตรวจสอบคีย์นอกเหมือนกับแถวพาเรนต์อื่นๆ ที่มีค่าคีย์เดียวกันไม่มีอยู่

ตัวอย่างเช่น หากมีการกำหนดข้อจำกัดประเภท RESTRICT และมีแถวย่อยที่มีแถวหลักหลายแถว InnoDB จะไม่อนุญาตให้ลบแถวหลัก

ในคำสั่ง SQL ที่ใช้การแทรก ลบ หรืออัพเดตหลายแถว ข้อจำกัดของคีย์ภายนอก (เช่น ข้อจำกัดที่ไม่ซ้ำกัน) จะถูกตรวจสอบทีละแถว เมื่อดำเนินการตรวจสอบคีย์ภายนอก InnoDB จะตั้งค่าการล็อกระดับแถวที่ใช้ร่วมกันในระเบียนย่อยหรือพาเรนต์ซึ่งจำเป็นต้องตรวจสอบ

MySQL กำหนดให้ต้องสร้างดัชนีคอลัมน์ที่อ้างอิงด้วยเหตุผลด้านประสิทธิภาพ แต่ MySQL ไม่ได้บังคับให้คอลัมน์ที่อ้างอิงต้องไม่ซ้ำกันหรือต้องประกาศไม่ใช่ค่าว่าง

ความคิดเห็น

Standard SQL ใช้ไวยากรณ์ C /* นี่คือความคิดเห็น */ เพื่อแสดงความคิดเห็น MySQL Server รองรับไวยากรณ์นี้ด้วย SQL มาตรฐานใช้ '--'' เป็นลำดับความคิดเห็นเริ่มต้น MySQL Server ใช้ '#' เป็นอักขระแสดงความคิดเห็นเริ่มต้น