MySQL和Sql Server的sql語句區別

2021-09-25 20:56:15 字數 2628 閱讀 8898

1、自增長列的插入:

sqlserver中可以不為自動增長列插入值,

mysql中需要為自動增長列插入值。

2、獲取當前時間函式

sqlserver寫法:getdate()

mysql寫法:now()

3、從資料庫定位到表。

sqlserver寫法:庫名.dbo.表名 ;或者:庫名..表名 

(注:中間使用兩個點)

select password from info.dbo.users where username='boss'

或者select password from info..users where username='boss'

mysql寫法:庫名.表名

select password from info.users where username='boss'

4、判斷是否存在某個資料庫,若存在,則刪除

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

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

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)

6、符號的使用

mysql對引數可以使用單引號,也可以使用雙引號,對欄位名和表明可以使用反引號。

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

mysql寫法:

select 

`password` from users where username='boss' or username=」jmj」

sqlserver寫法:

select 

password from users where username='boss' or username=』jmj』

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

sqlserver寫法:

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

mysql寫法:

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

它可以規定範圍 limit a,b——範圍a-b

8、查詢所有庫 

sqlserver寫法:

select * from [master]..[sysdatabases];

mysql寫法:

show databases;

9、查詢指定庫中的所有表

sqlserver寫法:

select *from 庫名.dbo.[sysobjects]

where[type]='u';

(注:若想知道[type]='u'代表什麼意思,

mysql寫法:

show tables

11、相同點

delete,select,insert,drop(刪除資料庫:drop database 庫名),update,create(建立資料庫:create

database 庫名)語句一樣。

SQL Server 和MySQL的區別

sql server和mysql沒多大區別兩者資料庫都能夠在.net或j2ee下執行正常,同樣,都能夠利用raid。區別就是 有一些 控制 名字不一樣,但功能大都一樣。sql server mysql 商業資料庫,貴 不全是免費,但很便宜 只支援windows系統 支援windows和linux,u...

sql server 和mysql 建立索引

1.新增primary key 主鍵索引 alter table table name add primary key column 2.新增unique 唯一索引 alter table table name add unique column 3.新增index 普通索引 alter table...

mysql和sqlserver資料轉換

使用mysql migration toolkit,mysql官方自帶的把mssql轉換為mysql 一直下一步下一步,使用advances功能 1 jdbc jtds sqlserver localhost 1433 db cityinfo user sa password 654123 char...