SQLServer與MySQL的區別2

一、自增加列的插入:

SQLServer中能夠不爲自動增加列插入值,html

MySQL中須要爲自動增加列插入值。mysql

 

二、獲取當前時間函數:

SQLServer寫法:getdate()sql

MySQL寫法:now()數據庫

 

三、從數據庫定位到表。

Sqlserver寫法:庫名.dbo.表名 ;或者:庫名..表名  (注:中間使用兩個點)函數

select password from Info.dbo.users where userName='boss'sqlserver

或者spa

select password from Info..users where userName='boss'.net

mysql寫法:庫名.表名server

select password from Info.users where userName='boss'htm

 

四、判斷是否存在某個數據庫,若存在,則刪除

Sqlserver寫法:

IF DB_ID('users') IS NOT NULL

DROP DATABASE users

Mysql寫法:

Drop DATABASEif exists users

 

拓展:若sqlserver數據庫正在使用中,刪除以前,先要把數據庫變成「單一用戶」,再刪除

ALTER DATABASE users SET SINGLE_USER with ROLLBACK IMMEDIATE IF DB_ID('users') IS NOT NULL DROP DATABASE users

 

另附:判斷某數據庫中是否存在某張表,若存在,則刪除

Sqlserver寫法:

if exists(select * from sysobjects where name ='Users_test')
drop table Users_test

Mysql寫法:

DROP TABLE IF EXISTS Users_test

 

五、主鍵存在,則更新,不存在,則插入

Mysql寫法:    

INSERT into users (userID,userName,password) VALUES (1,’jmj’,’123’) ON DUPLICATE KEY UPDATE  userName ='jmj', password =123

 

Sqlserver沒有mysql這樣的關鍵字,只能組合sql語句來實現操做:

if not exists (select userID from users where userID= 1)insert into users (userID,userName,password) values(1,’jmj’,’123’) else update users set userName = ’jmj’, password=’123’ where userID = 1

 

(關於On duplicate key update的兩篇文章,推薦給你們!

可遇不可求的Question之SQLServer的INSERT ON DUPLICATE KEY UPDATE語法篇

MySql避免重複插入記錄方法(ignore,Replace,ON DUPLICATE KEY UPDATE)

 

六、符號的使用

mysql對參數可使用單引號,也可使用雙引號,對字段名和代表可使用反引號。

sqlserver只能使用單引號,且不能使用反引號。

Mysql寫法:

Select `password` from Users where userName='boss' or username=」jmj」

Sqlserver寫法:

Select password from Users where userName='boss' or username=’jmj’

 

七、取出查詢結果中的第一條數據或者前幾條記錄(取前幾條記錄只須要修改對應的數字便可),分頁也是使用這個關鍵字:

SQLServer寫法:

select top 1 password from users where userName='boss'  

MySQL寫法:

select password from users where userName='111'limit 0,1

 

八、查詢全部庫

SQLServer寫法:

select * from [master]..[SysDatabases];
MySQL寫法:

SHOW DATABASES;

 

九、查詢指定庫中的全部表

SQLServer寫法:

select *from 庫名.dbo.[SysObjects] where[type]='U';

(注:若想知道[type]='U'表明什麼意思,請點擊http://blog.csdn.net/winddai/article/details/5815138

MySQL寫法:

SHOW TABLES

 

十、某些關鍵詞的使用

10.1截取字符串

SQLServer只能使用SUBSTRING關鍵詞來截取字符串。

MySQL可使用SUBSTRING和SUBSTR截取字符串

10.2取得字符串的長度

 

SQLServer只能使用Len關鍵詞取得字符串的長度。

MySQL可使用Length取得字符串的長度。

 

 

十一、相同點

 

delete,select,insert,drop(刪除數據庫:drop database 庫名),update,create(建立數據庫:create database 庫名)語句同樣。

相關文章
相關標籤/搜索