sql简介
1. 前言
大家好,从本小节开始,我们将一起学习sql wiki
系列。谈到 sql,每个人心里会有不同的理解,但大家可能都会不约而同地想到一个词——数据库
。sql 发展到今天,它的足迹其实早已遍布各个应用领域了。
学好 sql,你可以做到很多,数据管理、数据分析甚至机器学习,你都可以用 sql 来完成。学习是一个颇为技巧的活,它也遵守二八定律
,学好20%
的知识你就可以做好80%
的事情,这也是wiki
想要带给大家的。
我们希望整理出 sql “百分之二十”的知识,帮你办到“百分之八十”的事情,当然这里的知识远非百分之二十。
作为 sql 系列的第一小节,我们将为你简单的介绍什么是 sql,sql 能做什么以及学习 sql 的注意事项。
编程之家赠言:空无以求全,倒空的杯子才能装满更多的水。
2. 什么是 sql
sql
,全称 Structured Query Language,是一种结构化查询
语言。
sql
,是一种 半衰期很长
的语言,自 1970 年代诞生到现在,经久不衰,日久弥新。
3. sql 能做什么
- @H_404_51@@H_404_51@@H_404_51@@H_404_51@
sql 可用于简单的数据清洗;
@H_404_51@sql 可用于简单的数据分析;
@H_404_51@@H_404_51@@H_404_51@sql 可搭配一定的工具做数据报表。
4. RDBMS有哪些
RDBMS,全称relational database management system
(关系数据库管理系统),是一种数据库软件,但我们经常狭义地称呼它为数据库
。RDBMS将数据及数据关系以数据库和数据表的形式存储,并提供 sql 访问接口。
目前主流 RDBMS 有 MysqL、Postgresql、sql Server 和 Oracle;其中MysqL
和Postgresql
是免费开源且使用广泛的数据库,也是我们学习的重点。
不同的数据库厂商对于 sql 的支持差异颇大,一份精简的 wiki 实在无法囊括那么多,因此本 wiki 以MysqL
和Postgresql
为主,且默认使用MysqL
。当然你大可不必担心,本 wiki 介绍的 sql 知识几乎可以无缝地跑在不同的数据库,对于差异我们会着重说明。
5. 其它系统
sql 的使用十分广泛,不仅可以在 RDBMS 中使用,还可以在其它系统中使用。
- @H_404_51@
Hive 和 Pig 提供 sql 的方式进行大数据操作,Spark sql 也是同等作用的产品;
@H_404_51@InfluxDB 是目前使用最为广泛的时序数据库,也提供 sql 访问接口;
@H_404_51@TiDB 是目前使用也非常广泛的分布式数据库,仍以 sql 访问,并 100%兼容 MysqL;
@H_404_51@sqlFLow 是蚂蚁金服开源的一款用 sql 进行机器学习的产品;
@H_404_51@Neo4j 是图数据库中的佼佼者,其查询语言也是一种类似 sql 的语言;
@H_404_51@6. 重要说明
- @H_404_51@
sql 语句中的变量使用[]
作为变量占位符,如在[table_name]
中,table_name 表示数据表名称。
sql 中的关键字不区分大小写,如CREATE
和create
均可用,但我们推荐关键字大写。
sql 关键字虽不区分大小写,但为以示区分,教程中统一大写
。
sql 标准每年都在更新,不同厂商的支持又不尽相同,本教程以MysqL
和Postgresql
为主。
sql 语句在书写时有诸多保留词,如index
,一般情况下都需要通过转义符转义。
MysqL中的转义符是 `` ,Postgresql中的转义符是 “”。
@H_404_51@