熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

MS SQL Server和MySQL區別

2013-11-15 14:52:45  來源: SQL Server 

   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   dbosysobjects  
where  id = object_id(Nuc_newpm) and OBJECTPROPERTY(idNIsUserTable)=)
但是在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 dbouc_protectedmembers
(username ascappid 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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.