经常有一些刚接触数据库的朋友问我:SQL与SQL Server是同一个东西吗?有什么区别呢?
在知乎上也经常能看到有网友提出类似的问题。比如:MySQL与SQL有什么区别?说的是一回事吗?
很明显,这两个不是同一个东西,是两个完全不同的概念。只是它们的关系比较紧密。
先说说SQL。
SQL的英文名叫Structured Query Language,中文名叫结构化查询语言。
从它的名字就能看得出来,它是一门编程语言,是主要用来操作数据库中的数据的。
SQL语言最初是1974年提出,后来在1980年由ANSI批准,成为了关系型数据库语言的标准,年代相当久远了。
SQL语言具有非常多的优点。比如说,它简单易学,就算是小白,经过一二天的学习,都能快速掌握基本操作。而且它高度抽象,使得它能够在多种关系型数据库中使用,且语法结构基本保持相同,大大降低了学习成本。
而SQL Server呢,它的全称是Microsoft SQL Server,是由Microsoft(微软)公司推出的,就是开发我们电脑上使用的Windows操作系统的公司。
它实际上是一个成熟、商用的关系型数据库管理系统,于1988年推出第一个版本。从时间上来看,它的出现,比SQL语言要晚一些。
数据库新手可能对数据库管理系统是什么不太了解。我从百度百科上摘抄了一段介绍:
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
百度百科
习惯上,我们也总是把数据库管理系统与数据库统称为数据库。
上面说过,SQL是用来在关系型数据库中操作数据的,而SQL Server作为关系型数据库中的一种,也是支持SQL语言的。
当然,不是说关系型数据库必须支持SQL语言,如果它本身的DBMS能够很好的支持用户去操作数据,不支持SQL语言也是可以的。只不过经过多年的发展,SQL语言已经成为了关系型数据库操作数据的行业标准。很明显,一个连行业标准都不支持的数据库是玩不转的。
所以,SQL本质上是一种编程语言,SQL Server本质上是一种关系型数据库。而SQL Server支持使用SQL语言来操作数据库中的数据。
至于为什么有那么多的入门同学会把这两个东西搞混,大概是早期SQL Server使用比较广泛,而在国内,很多人喜欢把SQL Server简写或简读成SQL,所以导致后面学习的同学容易搞混。
预告一下,明晚周六的每周一练活动恢复,21点,不见不散!
推荐阅读:




