相信越来越多人发现,招聘信息上不论是高级产品经理还是基础运营岗位,或者不论是互联网行业还是传统行业,都越来越要求“数据能力”,甚至有的直接表明需要具备熟练使用数据库语言SQL的能力。
而很多人一看这名字(XX语言),还有这个莫名其妙的缩写(SQL),不禁让人望而却步。当然,这其中也曾经包括我自己。
那么什么叫“曾经望而却步”?就是我自己学了才发现:数据库语言太TM好使、方便、功能强大!非常后悔学晚了,重点是这种语言学习起来还非常简单。因为自己学习时间尚短,不敢班门弄斧,所以就把自己的一些学习心得写成了这篇“零基础入门指南”。
下面就来介绍一下到底什么是数据库,什么是数据库语言,又有哪些神奇功能和基本语句。
一、什么是数据库语言(SQL)SQL
SQL 的发音是 SQL (大写字母)或者 sequel全称是 Structured Query Language (结构化查询)是一种专门用来与数据库沟通的语言,是一种简单有效地从数据库中读写数据的方法。
简单说大概就是:SQL 是一种语言,是一种跟数据库沟通的语言。计算机的0和1是一种语言,我们日常说的普通话也是一种语言,哪怕狼人*的规则也是一种语言,所以如果你能理解狼人*规则,相信学会SQL也不是难事。
特点:
几乎所有数据库软件(DBMS)都支持
十分简单,没有复杂的语句,只由简单的描述性很强的单词组成。
语句数量不多,不像英语有各种语法、句法、时态和单词,SQL只有一些固定的语句,甚至比 Excel 的公式还要少
看上去简单,但实际是一种强有力语言。可以进行非常复杂和高及的操作。就像 Excel 的公式,单个拎出来似乎都简单而短小,但是将他们组合在一起之后就会威力无穷。
二、什么是数据库(database)数据库
数据库顾名思义,就是存放各种数据的仓库。
你可能会觉得这种事是IT精英的专业领域,与自己无关。(我自己曾经就是这样想的)放粮食的叫粮仓,放金条的叫金库,所以数据库即可理解为用来存放数据的仓库。
是一个空间指代概念。
如果你觉得以上各种仓库都太难理解,“字典”你一定熟悉,字典不正是收集字词的仓库吗?但是你肯定从来不会觉得字典可怕对吗?所以,我们只要像掌握查字典方法一样,掌握了跟数据库打交道的方法(即数据库语言),并熟悉它的特性,相信你也会觉得 so easy。
数据库软件
而我们平时所常见的 MySQL、Access、Oracle 等,并非是数据库,而是数据库软件(DBMS)的名称。可以将之理解为金库的保险柜型号,或者材质。可能是全金属,或者是纯铅,甚至是混泥土。
每一种数据库软件都有不同的功能和样式,有优点,有缺点,而唯一相同的是它们都使用数据库语言 SQL 。
其他要素
介绍完数据库语言、数据库、数据库软件三者的区别,还有一些前提知识需要介绍一下。
SQL 也如 Excel 一样,有表、列、行、数据类型和主键等要素,毕竟他们都是处理数据用的,只是 SQL 所能处理的数据量远超 Excel ,速度也令人惊喜。
如果你平时只是当 Excel 是表格工具或者是加减乘除的运算,没使用过高阶的筛选抽取功能,那么这里还需要帮你补充一下“主键”知识。
主键 是指表中的一列(或一组列),其值能够唯一识别表中的每一行。而任意两行都不具有相同的主键值,每一行都必须有一个主键值,不允许为空(NULL),主键列中的值不允许修改或更新,主键值不能重复使用。
举个例子,我们去银行开卡,对于我们使用该卡产生的业务,该银行卡的卡号就是我们所说的主键。卡号唯一,且不可变动。一旦我们的账户发生交易,立刻就会在该唯一卡号下生成相应的业务数据,而银行储存这些业务数据的仓库(非实体)就是数据库。
三、几种基本功能及语句检索功能
检索功能听上去似乎很普通,但却是 SQL 最强大的功能之一。
数据库的检索功能你可能不能理解,但是生活中的检索功能你是每天再用啦。比如
妈妈,帮我倒杯水。爸爸,帮我拿下快递。Siri,明天早上七点提醒我开会。
日常生活中,你向他人下达指令,要求对方帮你拿取物件的这种方式,就称为“检索”。
生活中,我们使用检索功能前,喊一嗓子就行,但对于数据库,你就得使用数据库语言 SQL 跟它沟通啦。
SQL 对应的检索功能需要用特定的语句开启,即 SELECT ,从一个或多个表中检索信息。但你首先要想好,你想检索什么,并从何处检索。
翻译一下句式就是:SELECT “今日头条”,FROM APPLE STORE;
SELECT 语句范例
过滤功能
过滤功能似乎听上去要比检索功能高级一点,但它也是 SQL 最强大的功能之一。
地表污水通过一层层细沙岩石最终变成纯净的地下水,这是一种专业过滤。而生活中的过滤要简单一点,比如
爸爸,帮我用小猪佩奇的被子倒杯水。妈妈,帮我拿一下衣柜第三个抽屉里有小猪佩奇的毛衣。Siri,闹钟周末不用响。
从上面的例子可以看出,过滤功能就是在检索功能上加了一些限定条件,如“在哪,什么特征,具体什么时间等”。
那么数据库语言对于过滤功能,也基本如此,除了有需要在 SELECT 语句的基础上,用 WHERE 子句指定过滤条件。
翻译一下句式就是:SELECT “什么值得买”,FROM APPLE STOREWHERE developer = GUODONG SUI;
WHERE 语句范例
其他语句
除了两大基本功能,检索和过滤,当然还有更新、删除、撤销、提交等功能。
如果你想在所有表中统一插入数据,可以使用 INSERT 语句
如果你需要更新数据,可以使用 UPDATE 语句
如果你需要删除部分数据,可以使用 DELETE 语句
当然,你想要更新表,或者创建表都可以使用相应的语句,但是如果是删除表的话,请一定特别注意。 DROP TABLE 语句没有确认,也不能撤销,使用前请务必做好备份,使用时请一定万分小心。你以为“删库跑路”是一句笑谈?不好意思,顺丰工程师帮你成功实现了,并且成功把自己踢出了行业哟。
四、流行的数据库软件数据库软件根据各自功能和侧重点不同,种类繁多,但是国内目前常用的大概就以下几个:
MySQL
是一个纯文本工具,需要下载安装包。目前更新到第8版了,作为国内主流的数据库软件,应用范围较广。