首頁  >  文章  >  資料庫  >  sql和mysql語法有什麼不同

sql和mysql語法有什麼不同

清浅
清浅原創
2019-05-11 11:30:213707瀏覽

sql和mysql語法的不同:1、mysql支援enum和set類型,sql不支援;2、MySQL的遞增語句是AUTO_INCREMENT,而SQL是identity(1,1);3、同樣的負載壓力,MySQL要消耗更少的CPU和內存,而SQL很耗資源。

sql和mysql語法有什麼不同

MySQL與SQLServer的語法差異

1、MySQL支援enum,和set類型,SQL Server不支援

2、MySQL不支援nchar,nvarchar,ntext類型

3、MySQL的遞增語句是AUTO_INCREMENT,而SQL是identity(1,1)

4、SQL預設到處表創建語句的預設值表示是((0)),而在MySQL裡面是不允許帶兩括號的

5、MySQL需要為表指定儲存類型

##6、 SQL識別碼是[],[type]表示他有別於關鍵字,但MySQL卻是`,也就是按鍵1左邊的那個符號

7、SQL支援getdate()方法取得目前時間日期,但MySQL裡面可以分割日期類型和時間類型,取得目前日期是current_date (),目前完整時間是now()函數

8、MS SQL不支援replace into 語句,但在最新的sql20008裡面,也支援merge語法

9、MySQL支援

insert into table1 set t1 = „‟, t2 = „‟

但MS SQL不支援這樣寫

10、MySQL支援

insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)

11、MySQL在創建表時要為每個表指定一個儲存引擎類型,而MS SQL只支援一種儲存引擎

12、MySQL不支援預設值為目前時間的datetime類型(MS SQL很容易做到),在MySQL裡面是用timestamp型別

13、MS SQL裡面檢查是否有這個表再刪除,需要這樣:

if exists (select * from dbo.sysobjects where id = object_id(N’uc_newpm’) 
and OBJECTPROPERTY(id,N’IsUserTable’)=1)

但在MySQL裡面只需要

 DROP TABLE IF EXISTS cdb_forums;

14 、MySQL支援無符號型的整數,那麼比不支援無符號型的MS SQL就能多出一倍的最大數儲存

15、MySQL不支援在MS SQL裡面使用非常方便的varchar( max)類型,這個類型在MS SQL裡面既可做一般資料存儲,也可以做blob資料存儲

#16、MySQL建立非聚集索引只需要在建立表的時候指定為key就行,例如:

KEY displayorder (fid,displayorder)

在MS SQL裡面必須要:

create unique nonclustered index index_uc_protectedmembers_username_appid 
on dbo.uc_protectedmembers (username asc,appid asc)

17、MySQL text欄位類型不允許有預設值

18、MySQL的一個表格的總共欄位長度不超過65XXX。

19、一個很表面的差別就是MySQL的安裝特別簡單,而且檔案大小才110M(非安裝版),比起微軟這個龐然大物,安裝進度來說簡直就是…

# 20.MySQL的預存程序只是出現在最新的版本中,穩定性和效能可能不如MS SQL。

21、同樣的負載壓力,MySQL要消耗更少的CPU和內存,MS SQL的確是很耗資源。

22、mysql的ifnull()函數對應sql的isnull()函數;

23、mysql的預存程序中變數的定義去掉@;

24、mysql的每句結束要用";"

25、SQLServer預存程序的AS在MySql中需要用begin …end替換

以上是sql和mysql語法有什麼不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn