页面树结构
转至元数据结尾
转至元数据起始

做数据分析不可能不和数据库打交道,因此必须掌握相关的数据库和SQL基础。

学习目标:了解数据库的基础概念,掌握SQL语法的基础操作,并掌握一些进阶函数的使用。

学习对象:应届毕业生或是对SQL无基础的学员。

下面我们按照下面步骤和要求进行相关的学习。

一、基础理论

SQL是指结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

所谓”数据库”,就是存放数据的库.现实中,大家都知道仓库,粮食库,车库,快递库,它们是放各种实体东西的库.而数据库,放的只有数据.
关系型数据库主要包括ORACLE、DB2、Sybase、SQL Server、MySQL,虽然SQL查询语法上有差异,但是基本上都是大同小异。


可以通过百度的方式学习,有条件也可以查看相关书籍《数据库原理》

1.了解建立数据库的意义,为什么不能用excel而需要用数据库?以及有哪些方面的应用?

2.数据库系统在整个网站中处于一个什么位置?在数据后台如何调用数据库的数据?

3.数据库的应用范围?什么时候才不得不使用数据库?什么时候数据库也不灵了?

4.表与表之间存在着怎样的逻辑?理解实体、关系、主键、外键。

5.了解事实表、维表结构和应用。

二、基础操作

这里我们主要学习SQL语法的基本操作。我们需要学习的重点内容和知识点包括如下:

1.掌握操作一些基本的select的操作:

根据http://www.w3school.com.cn/sql/index.asp地址查询SQL语法。

重点难点:

  • where和having的区别
  • join需要注意用on
  • like、=、in、is null的区别 ,还有null与空格的区别
  • order by的局限
  • group by如何在count等命令下分组
  • mid如何正向反向查询字符串位置

2.了解索引,知道如何建立索引,应用索引

3.了解数据类型,知道如何给各个数据建立对应的模型(兄弟连视频教学讲的比较明白)

重点了解:

  • char与varchar的区别
  • tinyint、smallint的范围
  • float与double的区别
  • date相关类型的输入条件与输出效果。

进阶函数

说明:对于部分函数,不同的数据库类型使用上会有差别。

我们需要掌握一些进阶函数的使用。

  • case when then else end。用于分组查询,使用频率非常高。
  • explain。此函数可以看到查询函数用到的索引等信息。用法很简单:explain+sql 查询语句
  • weekday。将日期转化为星期数 星期日就是6,星期一就是0
  • floor、round、trunc。用于数值取整。
  • row_number()over。做排行榜的函数
  • convert。数据类型的转换
  • substr和mid字符串截取。数据库

四、推荐资料

日后若想深入学习,还可以参考下面资料:

  • 数据库原理(第5版):主要介绍数据库基础知识。
  • 知乎、百度:查看数据库的性能评价。
  • w3school:介绍了一些基本的操作指令。http://www.w3school.com.cn/sql/index.asp
  • sql执行顺序的博客:介绍SQL执行的顺序,百度搜索即可。
  • 数据库系统概论第四版:主要介绍基本和优化的操作,可以作为加强学习内容。



  • 无标签