数据库语言 SQL 零基础入门指引

2018-10-16 21:00:00 148点赞 1807收藏 196评论

前言

相信越来越多人发现,招聘信息上不论是高级产品经理还是基础运营岗位,或者不论是互联网行业还是传统行业,都越来越要求“数据能力”,甚至有的直接表明需要具备熟练使用数据库语言SQL的能力

而很多人一看这名字(XX语言),还有这个莫名其妙的缩写(SQL),不禁让人望而却步。当然,这其中也曾经包括我自己。

那么什么叫“曾经望而却步”?就是我自己学了才发现:数据库语言太TM好使、方便、功能强大!(电脑再也不死机了数据库语言 SQL 零基础入门指引 )非常后悔学晚了,重点是这种语言学习起来还非常简单。因为自己学习时间尚短,不敢班门弄斧,所以就把自己的一些学习心得写成了这篇“零基础入门指南”。(主要还是张大妈有征文活动,来挣点金币啦)数据库语言 SQL 零基础入门指引

下面就来介绍一下到底什么是数据库,什么是数据库语言,又有哪些神奇功能和基本语句。

一、什么是数据库语言(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;

比如,在 products表中,检索出prod_id,prod_name,prod_price三个列的数据内容

SELECT 语句范例SELECT 语句范例

过滤功能

过滤功能似乎听上去要比检索功能高级一点,但它也是 SQL 最强大的功能之一。

地表污水通过一层层细沙岩石最终变成纯净的地下水,这是一种专业过滤。而生活中的过滤要简单一点,比如

爸爸,帮我用小猪佩奇的被子倒杯水。
妈妈,帮我拿一下衣柜第三个抽屉里有小猪佩奇的毛衣。
Siri,闹钟周末不用响。

从上面的例子可以看出,过滤功能就是在检索功能上加了一些限定条件,如“在哪,什么特征,具体什么时间等”。

那么数据库语言对于过滤功能,也基本如此,除了有需要在 SELECT 语句的基础上,用 WHERE 子句指定过滤条件。

翻译一下句式就是:
SELECT “什么值得买”,
FROM APPLE STORE
WHERE developer = GUODONG SUI;

比如,从products表中,检索prod_price价格为3.49的产品名称(prod_name)

WHERE 语句范例WHERE 语句范例

其他语句

除了两大基本功能,检索和过滤,当然还有更新、删除、撤销、提交等功能。

如果你想在所有表中统一插入数据,可以使用 INSERT 语句

如果你需要更新数据,可以使用 UPDATE 语句

如果你需要删除部分数据,可以使用 DELETE 语句

当然,你想要更新表,或者创建表都可以使用相应的语句,但是如果是删除表的话,请一定特别注意。 DROP TABLE 语句没有确认,也不能撤销,使用前请务必做好备份,使用时请一定万分小心。你以为“删库跑路”是一句笑谈?不好意思,顺丰工程师帮你成功实现了,并且成功把自己踢出了行业哟。

四、流行的数据库软件

数据库软件根据各自功能和侧重点不同,种类繁多,但是国内目前常用的大概就以下几个:

MySQL

是一个纯文本工具,需要下载安装包。目前更新到第8版了,作为国内主流的数据库软件,应用范围较广。网址点这里

官网页面官网页面

Oracle

工具较多,也有客户端。前几年比较流行,目前受欢迎程度不如 MySQL 。网址点这里

NoSQL

Not Only SQL,这两年随着大数据概念一起火起来的,经常看到,不明觉厉。

Access

office工具包自带的数据库软件,感兴趣的可以玩玩看。非纯文本操作,还有好多工具可以使用,就是部分语句比较有微软特色。

五、相关学习材料

以前每个季度公司查账,几百万条数据用 Excel 核对到哭泣,月底加班是根本没跑的,但是自从学会了 SQL, 妈妈再也不用担心我晚上回家打不到车了~

也完全没有头悬梁锥刺股,看看书,做做题,轻松搞定。所以下面就介绍一些实用的学习书籍和网站。

《SQL 必知必会》

人手一本的基础教材,举的例子都简单易懂。虽然很薄,却如书名一般浓缩了 SQL 的所有必学内容。

SQL必知必会 第4版22.9元京东去购买


《MySQL必知必会》

如果你读过《SQL必知必会》就知道作者Ben Forta一句废话都没有,这一本也同样继承了Ben Forta字斟句酌的优秀传统。

MySQL必知必会 [MySQL Crash Course]30.8元京东去购买


网站W3school

不太清楚这个网站的来历,但是上面提供了很多基础知识和测验题目。如果书本上的例题学完了,心里还是没底,就到这上做做题咯~
网址点这里

网站首页网站首页

当然,还有其他很棒的书籍和网站,不过萌萌觉得入门的话看图灵程序设计丛书的《XX必知必会》就够了。


以上是一个从听到XX语言就逃避,到后来主动拥抱 SQL的人给出的入门指引。希望足够简单能够帮你了解什么是数据库,什么是数据库语言,SQL 又有哪两大重要功能,及具体语句。

同时也希望这篇 SQL 零基础入门指引能够对想要学习数据库语言的你有所帮助,如果觉得不错,不如收藏、点赞、打赏来一套咯~

张萌萌,一个捣腾数据,没事瞎写的人。最擅长的还是 Excel ,如果你关注她“大猫咪_张萌萌”,很快会有 Excel 更新文章哟~数据库语言 SQL 零基础入门指引

展开 收起
196评论

  • 精彩
  • 最新
  • 求 一步一步学MySQL从安装到删库跑路 教程 [期待]

    校验提示文案

    提交
    坐等下次大妈征文活动咯 [龇牙]

    校验提示文案

    提交
    sudo rm -rf / [邪恶]

    校验提示文案

    提交
    收起所有回复
  • 你甚至可以在张大妈学习数据库 [鼓掌]

    校验提示文案

    提交
    你同样也可以跟张萌萌学Excel作图

    校验提示文案

    提交
    收起所有回复
  • 啊!现在逛张大妈还能学写SQL

    校验提示文案

    提交
    大妈可能希望寻找潜在员工把

    校验提示文案

    提交
    收起所有回复
  • 这是什么样的算法,我想买个裤衩都给我推荐这个???

    校验提示文案

    提交
    你得输入关键字“裤衩”呀,读了之后j就知道数据库指令很机械的

    校验提示文案

    提交
    无脑循环♻推算法了解一下,你真当随便哪个公司都用误差反向传播算法啊?!

    校验提示文案

    提交
    收起所有回复
  • 大家别上当这是个出版社派来的托,哼!

    校验提示文案

    提交
    哈哈哈,早知道挂出自己的公众号,背锅只能背自己哒

    校验提示文案

    提交
    这些人啊。。。

    校验提示文案

    提交
    收起所有回复
  • Excel+ACCESS,可以满足很多轻中量级报表的应用了。若是会点VBS那是更好了。Access还有图形化的查询设计界面,对非IT专业人士更友好易用。

    校验提示文案

    提交
    对的,其实非程序员,最开始用access是最容易上手的

    校验提示文案

    提交
    收起所有回复
  • 大兄弟 这不是CSDN吧 [阴笑]

    校验提示文案

    提交
    有可能是CSDN的分舵呢

    校验提示文案

    提交
    有创意 才够味 [赞]

    校验提示文案

    提交
    收起所有回复
  • 作为一个程序员,在张大妈看到这个文章,确实惊奇!
    写的浅显易懂,是个好文,不过除了写查数据,应该再写表是什么意思,如何建表,如何插入数据、更新数据
    看到楼主还想介绍存储过程,检验把存储过程用oracle包的形式去解释,就是把很多执行的语句打包成一个整体,例如:是爸爸帮我拿小猪配齐的杯子,并且帮我拿一块饼干、还要一块糖,并帮我把画画苏拿来。打包在一起形成一个简短的语句。

    校验提示文案

    提交
    你真的不是我请来的水军吗? [惊喜] 因为自己擅长excel ,没注意到表是难点,之后再写会考虑进去。举例的话还得再想想,感谢你的建议~

    校验提示文案

    提交
    收起所有回复
  • 前几天逛张大妈看到的是python和PHP,今天又来了SQL。我都怀疑我是逛得购物的网站吗??

    校验提示文案

    提交
    大妈可能发现你老是光看不买,怕你找不到想看的……嘘……不要告诉大妈是我泄漏给你的

    校验提示文案

    提交
    收起所有回复
  • 作为一个20年的程序员,看到“零基础学xxxx”就觉得误导人。真的零基础是不是幼儿园的孩子就能学?都零基础了还上大学干嘛?

    校验提示文案

    提交
    “零基础”都是在忽悠没想清楚为什么要学的人群。真的有需求,不存在学不学得会,也就看多久能上手。

    校验提示文案

    提交
    毕竟大家都是从幼儿园开始的嘛

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 大萌萌真棒棒,效率高得很呢

    校验提示文案

    提交
    哇,最有眼光就是你啦

    校验提示文案

    提交
    啊呀呀呀,好害羞哦

    校验提示文案

    提交
    收起所有回复
  • SQL都会用,太利害了吧

    校验提示文案

    提交
    [得意] 布丁布丁布丁蛋糕

    校验提示文案

    提交
    收起所有回复
  • 我去……张大妈变成程序员天地了?

    校验提示文案

    提交
    说不定是个程序媛呢 [邪恶]

    校验提示文案

    提交
    收起所有回复
  • 及时雨啊!后悔没早点认识你。另外,请问有啥好的公众号推荐吗?

    校验提示文案

    提交
    朋友,你真的不是我请来的水军吗 [小眼睛]

    校验提示文案

    提交
    似乎实在太简单,所以没啥专门讲SQL的公众号,网易云课堂上有一些课程可以选择

    校验提示文案

    提交
    收起所有回复
  • 惊了,张大妈还能学编程

    校验提示文案

    提交
    对对对,大妈想关照你的每一处生活呢

    校验提示文案

    提交
    收起所有回复
  • 不写个存储过程输出个helloworld么 [得意]

    校验提示文案

    提交
    还没想好怎么用简单易懂的方式介绍存储过程, 太麻烦把萌新都吓跑了可不好

    校验提示文案

    提交
    收起所有回复
  • mssql地位还不如access吗?

    校验提示文案

    提交
    哎呀,情人眼里出西施啦~系统自带软件,省的安装,自己鼓捣还挺好使的

    校验提示文案

    提交
    收起所有回复
  • [皱眉] sql语法是真的简单,真正的小白基本都倒在了数据库的安装和配置上,缺少环境去实际操作

    校验提示文案

    提交
    嘿嘿嘿,那下次写个手把手安装

    校验提示文案

    提交
    收起所有回复
  • 赞一个,
    最近在学Oracle,感觉头痛

    校验提示文案

    提交
    学了之后觉得挺好玩的,绝对比男朋友听话

    校验提示文案

    提交
    也得记得给男朋友换电池啊 [邪恶]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 这是cnblog?对不起我走错了 [锁眉]

    校验提示文案

    提交
    走过路过不要错过 [傻笑]

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.8K
扫一下,分享更方便,购买更轻松