MySQL và SQL Server (Microsoft SQL Server) đều sử dụng ngôn ngữ SQL (Structured Query Language), nhưng có một số khác biệt quan trọng trong cú pháp, hàm hệ thống, kiểu dữ liệu, và tính năng mở rộng riêng của từng hệ quản trị cơ sở dữ liệu (DBMS).
Dưới đây là bảng so sánh một số điểm khác biệt phổ biến giữa MySQL và SQL Server:
🧱 1. Từ khóa và cú pháp
Tính năng MySQL SQL Server
Tự động tăng ID AUTO_INCREMENT IDENTITY(1,1)
Nối chuỗi CONCAT('A', 'B') 'A' + 'B'
Giới hạn số dòng trả về LIMIT 10 TOP 10 hoặc OFFSET FETCH
Cú pháp SELECT SELECT * FROM table LIMIT 5 SELECT TOP 5 * FROM table
🗂 2. Kiểu dữ liệu
Dữ liệu MySQL SQL Server
Số nguyên tự tăng INT AUTO_INCREMENT INT IDENTITY(1,1)
Ngày giờ DATETIME, TIMESTAMP DATETIME, SMALLDATETIME, DATETIME2
Boolean TINYINT(1) (0 hoặc 1) BIT
⚙️ 3. Hàm xử lý chuỗi và ngày giờ
Loại hàm MySQL SQL Server
Lấy độ dài chuỗi LENGTH() LEN()
Lấy phần chuỗi SUBSTRING(str, pos, len) SUBSTRING(str, start, length)
Lấy ngày hiện tại NOW() GETDATE()
🔐 4. Quản lý người dùng và phân quyền
Tác vụ MySQL SQL Server
Tạo người dùng CREATE USER 'name'@'host' IDENTIFIED BY 'pass'; CREATE LOGIN name WITH PASSWORD = 'pass';
Phân quyền GRANT SELECT ON db.table TO 'user'@'host'; GRANT SELECT ON db.schema.table TO user;
📝 5. Câu lệnh khác biệt
Tác vụ MySQL SQL Server
Xóa bảng và reset ID tự tăng TRUNCATE TABLE TRUNCATE TABLE (nhưng cẩn thận với ràng buộc khóa ngoại)
Kiểm tra ràng buộc SHOW CREATE TABLE sp_help, INFORMATION_SCHEMA
🧠 Kết luận:
Giống nhau: Cả hai đều dựa trên chuẩn SQL nên các câu lệnh cơ bản như SELECT, INSERT, UPDATE, DELETE, JOIN... vẫn tương tự nhau.
Khác nhau: Các chi tiết về cú pháp, từ khóa, kiểu dữ liệu, và hàm hệ thống có thể khác nhau tùy vào từng hệ quản trị.
👉 Lời khuyên: Khi chuyển đổi giữa MySQL và SQL Server, bạn nên kiểm tra kỹ các phần như:
Hàm xử lý chuỗi, ngày giờ
Kiểu dữ liệu
Cú pháp tạo bảng, khóa, và ràng buộc