SQL首先是一门高级语言,同其他的C/C++,Java等语言类似,不同的是他是一种结构化查询语言,用户访问和处理数据库的语言,那类似于C语言,SQL也有自己的标准,目前市面上的数据库系统都支持SQL-92标准
SQL这门语言是具有统一性的,但是不同的数据库支持的SQL有略微差别,他是一门非过程化语言,不像C语言,用户并不关心操作是如何完成的,SQL也是跟其他语言结合有相当广泛的应用的,例如Java,Python
首先SQL对大小写不敏感,其次灵活度非常高,一条语句只以分号结尾,可以任意换行
数据库(DataBases,DB)其实就是以某种组织方式存储数据的集合,这里的组织方式有很多,例如有使用表(table)的
数据库的应用非常广泛,小到网站,大到各类应用系统,都是基于数据库的
我们对数据库基本分为两类,一类叫做关系型数据库(RDBMS)
名称 | 简介 |
---|---|
Oracle | 行业巨头 |
MySQL | 最流行的中大型数据库 |
SQL server | Windows上最好用的数据库 |
PostgreSQL | 功能最强大的开源数据库 |
SQLite | 最流行的嵌入式数据库 |
这一类数据库的组织方式就是使用很多表来存储,并且SQL是适用于所有的关系型数据库的,不同的是不同的数据库软件对于SQL进行扩展,所以可能并不完全互通
第二类叫做非关系型数据库(NoSQL),他其实是对关系型数据库的补充
名称 | 简介 |
---|---|
Redis | 最好的缓存数据库 |
MongoDB | 最好的文档型数据库 |
Elasticsearch | 最好的搜索服务 |
Cassandra | 最好的列式数据库 |
HBase | 优秀的分布式、列式数据库 |
大部分的非关系型数据库都有自己的操作语言,对SQL的支持并不友好