如何学习 SQL 语言?

转载自品略图书馆 http://www.pinlue.com/article/2018/09/1809/367274099038.html

 

我是看了这个回答来慢慢学习的,一共用了一个月时间,走了很多弯路总结一下这一个月的努力。希望大家少走点弯路

一、基础理论篇

目的:

1.了解建立数据库的意义,为什么不能用excel而需要用数据库?以及有哪些方面的应用?2.数据库系统在整个网站中处于一个什么位置?在数据后台如何调用数据库的数据?3.数据库的应用范围?什么时候才不得不使用数据库?什么时候数据库也不灵了?(大概10万条就可以使用了,千万级的就到极限了,这玩意谁知道了)4.表与表之间存在着怎样的逻辑?理解实体、关系、主键、外键。

推荐资料:

数据库原理(第5版)—清华大学出版社—赵艳铎和葛萌萌翻译的

这本书讲的比较通俗易懂,很快就能理解数据库是怎么回事。其次再看看知乎里面关于数据库的性能评价。

二、基础操作篇

目的:

1.学会操作一些基本的select的操作:

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

基本做到给你一堆数据,你可以查到你想要的

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

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

重点了解:

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

推荐资料:

w3school链接:SQL CREATE TABLE 语句

sql执行顺序sql执行顺序 - qanholas - 博客园

数据库系统概论第四版

w3school介绍了一些基本的操作指令,浅显易懂,但是远远不够,需要再看看数据库系统概论第四版的第三章和第九章作为补充。对了,安装也是个事,看附件吧。

三、练习篇

推荐:

SQL查询语句练习题27道 - friendan的专栏 - 博客频道 - CSDN.NET

sql 经典试题

先做前面的,不会的再到网上查,后面的确实比较难,妈的,我就做反了。

四、优化篇

目的

数据库做的好坏,主要是看执行效率,别人查询需要扫描20万的数据,而你只需要扫描5000,那你就是牛逼。不然就算你会算,但是卡的半死也是不行的。

推荐:

sql执行顺序sql执行顺序 - qanholas - 博客园

数据库系统概论(第四版)第九章

五、高阶段语句掌握

case when then else end

个人认为性价比最高对于分组查询非常有用。例如你想要查各个时间段各数据出现的次数,你只有07:28这样的时间,而你需要的是07:00~08:00这样的时间段,这时就需要case来转化

SQL中的case when then else end用法

explain

此函数可以看到查询函数用到的索引等信息。用法很简单:explain sql 查询语句

SQL语句优化-explain分析问题-nba76ers-ChinaUnix博客

weekday

将日期转化为星期数 星期日就是6,星期一就是0

MySQL weekday()函数

floor、round、trunc

数值取整 floor是取整数部分,而round是四舍五入,trunc是取x位小数

SQL中的取整函数FLOOR、ROUND、CEIL、TRUNC、SIGN_郑来轶_新浪博客

row_number()over

做排行榜的函数

SQL ROW_NUMBER() OVER函数的基本用法用法

convert

数据类型转换

substr和mid

字符串截取

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值