1、SQL写作目的
我是一个文科生,代码对我来说是个外星语言,我也没有想到在我的工作中会用到代码,刚来百度的时候,每天要有很多的数据需求要解决,所以我只能不停的去找RD沟通这个数据怎么解决,一次别人可能会很愿意帮忙,但是多次要别人配合肯定会不愿意,所以好奇心、自尊心强的我会去研究遇到这样的问题我应该怎么解决。第一次遇到SQL时候是一个关于部门商家结算数据的邮件中,看到密密麻麻的代码我一下子晕了,这是我第一次见到,那时还不知道SQL是什么概念,后来才知道SQL是 Structured Query Language结构化语言的缩写,也才了解数据是由不同的数据类型组成,数据是存储在数据库中的,如果我们要去数据库取数据必须用到一种语言,类似于星爷大话西游中孙悟空要喊声芝麻开门才能进洞,只不过人与数据库交互的语言是用SQL了。
后来,在工作中有时间我也会不断的去了解学习SQL,从2014.8月份开始到2015.4月近一年的熟悉中,慢慢了解了这门语言,说来也巧与上海RD冯**打赌说5月份前就能够掌握他的话相应。
我知道在接下来的工作和生活中会遇到很多不是我熟悉的领域,但我不能说这个我不会,所以理所当然的认为我可以不去学习,尤其在互联网时代只有不断的提升自己的技能才是在职场立足的根本,这也是我为什么去了解一门语言的动机,我也想从一门我根本不熟悉的知识中去分析如何学习,并在最短的时间内掌握。
经过一年的接触SQL给我最大的体会是:
1、 学习一门技术必须得知道学习的目的,要解决什么问题,不然学习效果不会好,所以在学习中要不断的问为什么并及时总结,比如这个查询要解决的是什么;
2、 学习一门技术要不断的去实践,这跟在学校学习不一样,把学习带到工作中去,学习效果会更佳,所以活学活用就是这个道理;
3、 学习一门技术要专注与集中,这个我做的不好,现在想想SQL其实不困难为什么我用了近一年的时间才掌握,原因是我没有连续学习,断断续续没有积累。
所以这也是我为什么写此文章的原因,一个是对我学习的知识进行总结,另一个是清除我学习的盲点,最后是为我以后学习新的知识提供借鉴的地方。好了不再罗嗦了直接进入主题,以下关于SQL的知识是《SQL必知必会》为基础,目的是把本书的知识转化为我的知识。Here we go…..
第一课 SQL概述
1.1 数据库概述
信息时代,最大的价值就是数据,我们获取数据的方式在我们生活中无处不在,而所有的数据都存储在数据库中,如上网搜索、发送电子邮件等方式都是在和数据库交互。
1.1.1数据库(DATABASE)
数据库即一个有组织的方式存储数据的集合。类似于一个衣柜,衣柜中有上衣、下衣、袜子和鞋子。
1.1.2 表(TABLE)
如果数据库是衣柜,那么衣柜会分几层,其中一层是放上衣,二层是放下衣,三层是放鞋子,表类似衣柜的层,在数据库中,数据以特定数据类型的方式存储在表中。
1.1.3 列和数据类型
表由列(column)组成。列存储表中某部分信息。表中每列都存储特定的数据类型,数据类型限定了每列的数据。如字符型数据只能存储为字符,不能存储数值型数据,保证表的组织性。
1.1.4 行(row)
表中的数据是按行来存储也称为记录。列规定了存储的数据类型,行记录了每个列的数据,行与列才构成了一个完整的表。哈哈
1.1.5主键(PRIMARY KEY)
主键是个晦涩的词,术语它是每列中用一个唯一标识来表示行,简单点就是你说你是张三,怎么证明你是张三,直接方法是用你的身份证,它是唯一的,所以主键它是唯一性的,主键的目的是可以将不同的表联接起来,以后我们用JOIN关键词时就知识主键的强大了。
主键具有以下的特殊:
(1) 一表中,任意两行不能有相同的主键;
(2) 每一行必须要有主键;
(3) 主键值不能重用,即如何删除主键该主键不能赋予新行;
上面说了些数据库、表、列、行到主键等基本概念,那如果我们都掌握了,数据都放在数据库中怎么提取呢?所以接下就要介绍打开数据库的钥匙:SQL。
1.2 什么是SQL
SQL:Structured Queny Language即结构化语言,它就是一种与数据库沟通的语言,类似与与老美沟通我们要用英语,逻辑是一样的,但是前期是我们要掌握相应的语法,不然就会词不达意了。