2014-10-08 67 views
0

我正在计划学习SQL。SQL的区别

我在看SQLAlchemy,因为我对Python很熟悉。

我想知道,即使SQL是在MySQL或MSSQL或任何其他SQL是相同的。或者说是说OOP或脚本是相同的,说Python与Java到C++类似,因为循环和fileIO是相同的,只是不同的语法。

我在此先感谢您的帮助。

+7

SQL在数据库中各不相同。有一个标准,所以它与java/python/C++并不完全不同,但是确实存在差异。想想美国和英国 - 两个国家被一种共同的语言划分。 – 2014-10-08 01:42:44

+1

'sqlalchemy'的好处是它可以为您提供一个通用的界面来处理不同的数据库引擎。但是,为了编写高效的后端代码,您应该对“SQL”有一定程度的了解。 – van 2014-10-08 07:05:20

回答

4

结构化查询语言(SQL)有ANSI标准。有一些修订(例如ANSI-92)和一些标准的“合规性”级别。几乎所有的数据库引擎都符合核心语法(使用关键字和基本语句语法)。

http://en.wikipedia.org/wiki/SQL-92

但是每个数据库可以自由地添加扩展,并从标准偏离。而且存在一些非常显着的差异,就数据库之间的“便携式”陈述而言存在着痛苦的差异。

大多数数据库都记录了它们符合ANSI标准的级别,以及与标准SQL的区别。例如,MySQL的:

http://dev.mysql.com/doc/refman/5.5/en/compatibility.html

这是完全有可能写一个声明,将在几乎每一个数据库的“工作”;例如:

select * from emp order by id 

但一旦事情开始变得比简单更复杂,当我们开始做真正有用的东西,这时候在SQL的差别变得更加明显。