MySQL支持enum和set類型SQL Server不支持
MySQL不支持ncharnvarcharntext類型
MySQL的遞增語句是AUTO_INCREMENT而MS SQL是identity()
MS SQL默認到處表創建語句的默認值表示是(())而在MySQL裡面是不允許帶兩括號的
MySQL需要為表指定存儲類型
MS SQL識別符是[][type]表示他區別於關鍵字但是MySQL卻是 `也就是按鍵左邊的那個符號
MS SQL支持getdate()方法獲取當前時間日期但是MySQL裡面可以分日期類型和時間類型獲取當前日期是cur_date()當前完整時間是 now()函數
MS SQL不支持replace into 語句但是在最新的sql裡面也支持merge語法
MySQL支持insert into table set t = t = 但是MS SQL不支持這樣寫
MySQL支持insert into tabl values () () () () () () ()
MS SQL不支持limit語句是非常遺憾的只能用top 取代limt Nrow_number() over()函數取代limit NM
MySQL在創建表時要為每個表指定一個存儲引擎類型而MS SQL只支持一種存儲引擎
MySQL不支持默認值為當前時間的datetime類型(MS SQL很容易做到)在MySQL裡面是用timestamp類型
MS SQL裡面檢查是否有這個表再刪除需要這樣
if exists (select * from dbo
sysobjects
where id = object_id(N
uc_newpm
) and OBJECTPROPERTY(id
N
IsUserTable
)=
)
但是在MySQL裡面只需要 DROP TABLE IF EXISTS cdb_forums;
MySQL支持無符號型的整數那麼比不支持無符號型的MS SQL就能多出一倍的最大數存儲
MySQL不支持在MS SQL裡面使用非常方便的varchar(max)類型這個類型在MS SQL裡面既可做一般數據存儲也可以做blob數據存儲
MySQL創建非聚集索引只需要在創建表的時候指定為key就行比如KEY displayorder (fiddisplayorder) 在MS SQL裡面必須要
create unique nonclustered index
index_uc_protectedmembers_username_appid on dbo
uc_protectedmembers
(username asc
appid asc)
MySQL text字段類型不允許有默認值
MySQL的一個表的總共字段長度不超過XXX
一個很表面的區別就是MySQL的安裝特別簡單而且文件大小才M(非安裝版)相比微軟這個龐然大物安裝進度來說簡直就是
MySQL的管理工具有幾個比較好的MySQL_front和官方那個套件不過都沒有SSMS的使用方便這是MySQL很大的一個缺點
MySQL的存儲過程只是出現在最新的版本中穩定性和性能可能不如MS SQL
同樣的負載壓力MySQL要消耗更少的CPU和內存MS SQL的確是很耗資源
php連接MySQL和MS SQL的方式都差不多只需要將函數的MySQL替換成MS SQL即可
MySQL支持datetimeyear類型MS SQL到才支持date和time
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22480.html