数据库大师成长日记:SQL Server和MySQL常用SQL区别

栏目: 数据库 · 发布时间: 7年前

内容简介:SQLServer和MySQL都是大家常用的数据库,她们基本兼容SQL-92标准,但语法风格还是有一些不同,下面列举一部分两者常用SQL片段的差异,权当抛砖引云,其实两者之间的细微差异多着呢。使用单行GO分号;

SQLServer和 MySQL 都是大家常用的数据库,她们基本兼容SQL-92标准,但语法风格还是有一些不同,下面列举一部分两者常用 SQL 片段的差异,权当抛砖引云,其实两者之间的细微差异多着呢。

数据库大师成长日记:SQL Server和MySQL常用SQL区别

查看表结构的方式

SQLServer方式:

-- 查看系统内所有数据库  
SELECT  name, database_id, create_date  FROM sys.databases ;  
-- 查询数据库内所有表  
select *  from sysobjects  where xtype= 'U' ;  
-- 显示表结构  
sp_help/sp_columns 表名;  

MySQL方式:

-- 查看系统内所有数据库  
show databases;  
-- 查询数据库内所有表  
show tables;  
-- 显示表结构desc 表名;  

语句结束符号

SQLServer的结束符号:

使用单行GO

分号;

什么都不写

MySQL的结束符号:

似乎一直都是用分号;。

返回前几条记录

SQL Server的写法是:

select top n条 from 表;  
select top n percent from 表; 

MySQL的写法是:

select * from 表 limit n; 

获取当前的日期时间

SQL Server的写法是:

getdate(); 

MySQL的写法是:

  1. now(); 

循环支持

以1到100求和为例,我们看看两者实现的不同方式

SQL Server只有一个while循环,语法如下:

DECLARE @I  INT = 1;  
DECLARE @K  INT = 0;  
WHILE @IBEGIN SET @K = @K + @I;  
SET @I = @I + 1;  
ENDSELECT @K;  

MySQL支持好几种,先看看While循环:

DECLARE I,K INTDEFAULT 0 ;  
WHILE I SET K=I + K;  
SET I=I + 1;  
END WHILE;  
SELECT K;  

再看看MySQL的REPEAT UNTIL 循环循环:

DECLARE I,K INTDEFAULT 0 ;  
REPEATSET K=I + K;  
SET I=I + 1;  
NTIL I>100END REPEAT;  
SELECT K;  

再看看MySQL的LOOP循环

DECLARE I,K INTDEFAULT 0 ;  
LABEL: LOOPSET K=I + K;  
SET I=I + 1;  
IF I>100 THENLEAVE LABEL;  
END IF;  
END LOOP;  
SELECT K;  

细微区别太多,这里就不一一列举了。


以上所述就是小编给大家介绍的《数据库大师成长日记:SQL Server和MySQL常用SQL区别》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社群运营的艺术

社群运营的艺术

查尔斯·沃格 / 靳婷婷 / 华夏出版社 / 2017-7 / 42

社群存续的秘密,长期以来只有少数人知道,比如佛陀、耶稣及其弟子。 回溯3000年社群史,《社群运营的艺术》作者查尔斯•沃格总结了有归属感社群的七大原则。 在前互联网时代,七原则曾经造就伟大社群。在人人互联时代,应用七原则的社群将更繁荣。 本书作者耶鲁大学神学硕士查尔斯•沃格研究人类社会3000年的历史,结合个人亲身操作经历,提出了七条历经时间考验的原则:界限原则、入会原则、仪式原......一起来看看 《社群运营的艺术》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码