Mở đầu

Một ngày nào kia khi đang làm việc ngon lành với MySql cùng tưởng trừng cả cuộc sống là để dành riêng chọn cho nó. Cũng trong ngày hôm đó khi project A của chúng ta đã và đang được release, công việc của bạn chỉ là ngồi xem phim và chờ mấy chị tét tờ lên list bug, thì một lời nhắn được send thẳng cho bạn.

Bạn đang xem: Khác nhau giữa mysql và sql server

A: T đang có project XXX này, nó làm bởi ABC..XYZ mày hy vọng đá thêm không

*
?

Me:

*
mang lại xin loại lịch caffe.

Không do dự đúng trình độ chuyên môn cộng thêm đây đã là thời gian rảnh của dự án công trình vậy tội gì ko đá thêm kiếm chút

*
tăng thêm thu nhập . Sau khoản thời gian caffe cùng bàn về dự án công trình vs thằng bạn có một điều mãi mà các bạn vẫn bẵn khoăn là: tại sao quý khách lại sử dụng MSSQL (SqlServer) thất thoát và đây là lý do chúng ta nhận được.

Tại người tiêu dùng họ có server là windowns server 2012

Vì đã tất cả kiến thức nền tảng của Sql phải bạn không phải lo ngại khó lao vào tìm đọc SqlServer với một niềm tin bền vững chỉ cần một ngày là đủ

*
.

Xem thêm: Top 10 Shop Bán Đồ Chơi Exciter Hà Nội Uy Tín Nhất, Độ Xe Exciter Ở Hà Nội

Bỏ qua những sự việc về bài toán install tốt config bạn băng băng vào mớ định hướng hỗn độn để tìm điểm giống như và khác biệt chủ yếu của 2 HQT này cuối cùng đúc kết ra được vài thứ bé dại nhoi như sau.

HQTCSDL trái lập nhau

Trong khi MySql tất cả sẵn và miễn phí vì nó tà tà mã mối cung cấp mở, tuy thế SQLServer thì không. Các bạn phải bỏ tiền ra và cài nó .Ở MySql các bạn có workbench giao diễn dễ chú ý trực quan, tuy thế nó chả xứng đáng là bao nếu như so với Microsoft SQL hệ thống Management Studio.Về các function xuất xắc stored procedure sinh sống SqlServer bạn được hỗ trợ nhiều hơn cùng họ cũng khuyến khích các bạn dùng đầy đủ thứ này hơn.

Cú pháp không giống nhau

Mình đang lấy vài lấy một ví dụ để cho mình biết sự biệt lập của 2 HQT này ra sao.1. Hầu hết câu lệnh cơ bản

comment trong MySql cùng SqlServer bạn sẽ dùng -- mà lại trong Mysql bạn phải thêm 1 khoảng trắng vào sau --

VD: -- select

Nối chuỗi

MySql chúng ta dùng CONCAT(string, string2, …) còn SqlServer chỉ dễ dàng và đơn giản là string + string2 + …

Số mặt hàng bị ảnh hưởng của câu lệnh truy nã vấn

--MySqlSELECT .... ;SELECT FOUND_ROWS();-- SqlServerSELECT .... GOSELECT
ROWCOUNT2. Các kiểu dữ liệu tương đương

Sql ServerMySql
BITTINYINT
FLOAT(p)DOUBLE
SMALLMONEYDECIMAL(6,4)
MONEYDECIMAL(15,4)
NTEXTLONGTEXT
NVARCHAR(max)LONGTEXT
XMLLONGTEXT
TEXTLONGTEXT
IMAGELONGBLOB
ROWVERSIONBINARY(8)
TIMESTAMPBINARY(8)
SMALLDATETIMEDATETIME
3. Những hàm cơ bản thường cần sử dụng tương ứngSql ServerMySql
CONVERT(DATETIME, string, style)STR_TO_DATE(string, format)
CONVERT(VARCHAR, datetime, style)DATE_FORMAT(datetime, format)
DATEADD(unit, value, exp)TIMESTAMPADD(unit, value, exp)
DATEDIFF(units, start, end)TIMESTAMPDIFF(units, start, end)
GETDATE()NOW()
GETUTCDATE()UTC_TIMESTAMP()
HOST_NAME()
HOSTNAME
LEN(string)CHAR_LENGTH(RTRIM(string))
STR(float, len, decimal)CONVERT(float, CHAR)
4. Số đông câu query thần thánhLimit

--Trong MySql lấy 3 vị trí đầu tiên.Select * from tbl Limit 0,3--Trong SqlServer mang 3 địa chỉ đầu tiên.Select đứng đầu 3 * from tblTrigger

Trigger trong SqlServer và MySql bao gồm sự khác hoàn toàn cơ phiên bản về cú pháp, dẫu vậy ta chỉ việc nhớ 2 điều sau.

INSERTED = NEW

DELETED = OLD

Từ phía trên ta có thể khởi chế tác 1 trigger cơ bạn dạng ở phía 2 bên như sau:

-- SqlServerCREATE TRIGGER trg_DatHang ON tbl_DatHang AFTER INSERT AS BEGINUPDATE tbl_KhoHangSET SoLuongTon = SoLuongTon - (SELECT SoLuongDatFROM insertedWHERE MaHang = tbl_KhoHang.MaHang)FROM tbl_KhoHangJOIN inserted ON tbl_KhoHang.MaHang = inserted.MaHangEND-- MySqlCREATE TRIGGER trg_DatHang AFTER insertON tbl_DatHang FOR EACH ROW BEGIN UPDATE tbl_KhoHang set SoLuongTon = SoLuongTon - NEW.SoLuongDat where MaHang = New.MaHang;END;5. Các câu lệnh logic

SqlServerMySql
IF … ELSE IF …IF condition THEN … end IF;
FLOAT(p)IF … ELSEIF …
WHILE condition BEGIN stmts ENDWHILE condition vì stmts end WHILE;

Kết luận

Đến đây không ít người dân sẽ nghĩ rằng SqlServer giỏi hơn MySql mà lại thực sự là chưa phải vậy. Tùy mục đích sử dụng hay đông đảo ngôn ngữ thường được sử dụng mà bạn sẽ lựa chọn việc sử dụng HQT nào mang đến hợp lý.Câu truyện trên là bao gồm thật nhưng vì một vài ví dụ so sánh ở dưới phần nhiều bổ ích cho Sqlserver hơn phải mình ra quyết định đổi vế của nó để gia công giảm bớt phần như thế nào sự thiên vị. Bài viết trên chỉ là đối chiếu nho bé dại giữa MySql với SqlServer, bên trên thực tế có không ít HQT khác như Oracle, Informix, Postgres,... đó toàn là các RDMS (Relational Database Management System) nổi tiếng. Bắt buộc việc những developer phải sử dụng chúng là điều tất yếu. Nhưng nếu bạn nắm vững vàng Sql căn bạn dạng hoặc ORM của những ngôn ngữ thực hiện thì vấn đề này không hề là cực nhọc khăn.Cảm ơn các bạn đã đọc bài viết của bản thân