Computer >> Máy Tính >  >> Lập trình >> MySQL

Sự khác biệt của MySQL so với SQL chuẩn


Hãy để chúng tôi hiểu sự khác biệt giữa MySQL và SQL tiêu chuẩn. MySQL thực hiện nhiều thao tác khác nhau trong một số trường hợp nhất định -

Đặc quyền

Có nhiều điểm khác biệt giữa MySQL và SQL tiêu chuẩn liên quan đến các đặc quyền được cấp cho người dùng. Trong MySQL, các đặc quyền cho một bảng sẽ tự động không bị thu hồi khi một bảng bị xóa. Một câu lệnh REVOKE cần được phát hành một cách rõ ràng để thu hồi các đặc quyền cho một bảng.

Các ràng buộc đối với khóa ngoại

Việc triển khai các ràng buộc khóa ngoại trong MySQL khác với tiêu chuẩn SQL. Nếu có nhiều hàng trong bảng mẹ có cùng giá trị khóa được tham chiếu, công cụ InnoDB sẽ kiểm tra khóa ngoại giống như các hàng mẹ khác có cùng giá trị khóa không tồn tại.

Ví dụ:nếu một ràng buộc kiểu RESTRICT được xác định và có một hàng con với nhiều hàng mẹ, thì InnoDB sẽ không cho phép xóa các hàng mẹ.

Trong một câu lệnh SQL sử dụng chèn, xóa hoặc cập nhật trên nhiều hàng, các ràng buộc khóa ngoại (chẳng hạn như các ràng buộc duy nhất) được kiểm tra từ hàng này sang hàng khác. Khi kiểm tra khóa ngoại được thực hiện, InnoDB đặt các khóa cấp độ hàng được chia sẻ trên các bản ghi con hoặc bản ghi mẹ cần được kiểm tra.

MySQL yêu cầu các cột được tham chiếu phải được lập chỉ mục vì lý do hiệu suất. Nhưng MySQL không bắt buộc các cột được tham chiếu phải DUY NHẤT hoặc phải được khai báo là KHÔNG ĐẦY ĐỦ.

Nhận xét

SQL chuẩn sử dụng cú pháp C / * đây là một chú thích * / để hiển thị các chú thích.MySQL Server cũng hỗ trợ cú pháp này. SQL chuẩn sử dụng '' - '' làm chuỗi nhận xét bắt đầu. Máy chủ MySQL sử dụng ‘#‘ làm ký tự nhận xét bắt đầu.