MsSQL是微軟的SQL Server只能用在Windows操作系統上,MySQL是MySQL AB公司開發支持多平台
MySQL支持的數據量較小,適合於小中型網站
數據類型
mysql支持enum,和set類型,sql server不支持
mysql不支持nchar,nvarchar,ntext類型
它表示存儲的是Unicode數據類型的字符。我們知道字符中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。帶來方便的同時會在存儲英文的時候造成數量上的損耗
如果含有中文字符,用nchar/nvarchar,如果純英文和數字,用char/varchar,在mysql中char,varchar被默認為了nchar,nvarchar
mssql支持貨幣數據類型(money、smallmoney),mysql不支持
money與smallmoney都是保留四位小數,只是存儲的位數不一樣
mysql的遞增語句是AUTO_INCREMENT,而mssql是identity(1,1)
create table tb(id int identity(1,1) primary key )
mysql支持無符號型的整數,那么比不支持無符號型的mssql就能多出一倍的最大數存儲
識別符
MySQL的識別符是`
MsSQL的識別符是[]
SELECT `PASSWORD`
FROM login
時間
MsSQL支持getdate()方法獲取當前時間日期
SELECT getdate()
MySQL里面可以分日期類型和時間類型,獲取當前日期是cur_date(),當前完整時間是 now()函數
SELECT NOW(),CURDATE(),CURTIME() NOW() CURDATE() CURTIME() ------------------- ---------- ----------- 2020-11-14 16:59:10 2020-11-14 16:59:10
存儲引擎
mysql在創建表時要為每個表指定一個存儲引擎類型,而mssql只支持一種存儲引擎
MySQL支持的語句
MySQL支持replace into語句
首先嘗試插入數據到表中,如果發現表中已經有此行數據(根據主鍵或者唯一索引判斷)則先刪除此行數據,然后插入新的數據。 否則,直接插入新數據。
MySQL支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)語句
INSERT INTO student (birthday,classno,phone,sex,sname,score) VALUES
('1998-11-11','202001','18739396145','男','翟--',501.0),
('1998-11-11','202001','18739490123','女','劉萌萌',503.0);
mysql支持insert into table1 set t1 = ‘’, t2 = ‘’
INSERT INTO student SET studentno = '20171514', sname = 'zhai'
mysql支持limit語句
mssql查詢前三條數據:
select top 3 * from student
ROW_NUMBER()OVER()的使用:
select *, ROW_NUMBER()OVER(order by point) AS NUM from student
實現分頁:
select * from( select *, ROW_NUMBER()OVER(order by point) AS NUM from student) AS SOMETABLENAME WHERE NUM BETWEEN 1 AND 5
mysql實現分頁
SELECT * FROM student LIMIT 2,5
該語句是返回從第三行開始后的五條數據
參考:https://blog.csdn.net/awen1983/article/details/5666877