1.2 Microsoft SQL Server、MySQL和Oracle
尽管我们的目标是介绍SQL的核心语言,因为它适用于所有的实现,但是,我也会提供SQL语法的一些具体示例。由于各个厂商的语法各异,我决定重点关注如下这3种数据库所使用的SQL语法:
Microsoft SQL Server;
Oracle;
MySQL。
大多数情况下,这些数据库有着相同的语法。然而,偶尔也会有所不同。如果这3种数据库之间有任何的差异,本书的正文中将会采用Microsoft SQL Server的语法,我会像下面这样,专门指出MySQL或Oracle在语法上的不同之处。
数据库的差异
当我要介绍Oracle数据库或MySQL数据库的不同语法时,就会以“数据库的差异”这样的版块给出。正文中则会给出Microsoft SQL Server的语法。
Microsoft SQL Server有好几个可用的版本。最新的版本叫做Microsoft SQL Server 2016;既有基础的Express版,又有功能齐全的企业(Enterprise)版。尽管Express版是免费的,但是它仍然有着丰富的功能,可以用来进行完整的数据库开发。企业版包括许多高级的数据库管理功能以及高级的商务智能组件。
尽管MySQL属于Oracle公司,但它是一款开源的数据库,这意味着没有一家独立的机构控制其开发。除了Windows外,MySQL还可以在许多平台上运行,诸如Mac OS X和Linux。MySQL提供了社区版(Community Edition)供免费下载。其最新版本是MySQL 5.7。
Oracle数据库也有多个可用的版本。最新的版本是Oracle Database 12c。Oracle数据库的免费版本叫做Express版。
作为初学者,请根据自己的选择去下载数据库,以便能够进行尝试,这么做有时候是很有用的。但是,本书并不需要你这么做。本书的编写方法是,允许你通过只阅读正文来学习SQL。在正文中,我会提供足够的数据,你无需下载软件或亲自输入语句,也能理解各种SQL语句的结果。
尽管如此,如果你想要下载这些数据库的免费版本,本书的附录A到附录C针对如何下载给出了一些介绍和建议。附录A针对如何开始使用Microsoft SQL Server给出了详尽的说明,包括如何安装软件以及执行SQL命令的详细介绍。附录B介绍的是MySQL,而附录C介绍的是Oracle。
正如前言所提到的,本书的配套网站提供了本书在3种数据库中所用到的、所有SQL语句的辅助材料。然而,你很可能会发现根本不需要下载或阅读配套网站上的补充材料。本书中所有的示例,都是一看便知的,不需要为了理解这些内容而做任何事情。但是,如果你愿意去下载的话,那就利用好这些额外材料吧!
此外应该注意的是,除了Microsoft SQL Server、Oracle和MySQL以外,还有一些其他的比较流行的关系型数据库值得了解。例如:
IMB的DB2;
IBM的Informix;
Sybase的SQL Anywhere;
开源数据库PostgreSQL;
Microsoft的Microsoft Access。
在这些数据库中,Microsoft Access有一些特别,它有一个图形化元素。其实,Access是关系型数据库的一个图形化界面。换句话讲,Access允许我们完全通过图形化的方法,来为关系型数据库创建一个查询。对于初学者来讲,Access最有用的一点,就是可以用可视化的方法很容易地创建一个查询,然后切换到SQL视图去查看刚刚创建的SQL语句。Access的另一个不同之处在于,它是一个桌面数据库。因此,我们不仅可以使用Access来创建一个完全以单个的文件形式保存在计算机上的数据库,而且还可以连接到用其他工具(诸如Microsoft SQL Server)创建的数据库。