select是什么意思(零基础快速自学SQL)
admin
2023-08-11 06:00:55

本文是《10周入门数据分析》系列的第六篇。

如果你想知道学习路线,你可以先读读“学习计划|10周入门数据分析”

上一篇文章分享了数据库的基础知识以及如何安装数据库。今天,这篇文章分享了数据库操作和SQL。

SQL全称StructuredQueryLanguage,翻译成结构化查询语言,是一种用于访问数据、查询、更新和管理关系数据库系统的数据库查询和编程语言。

至于ORACLE,DB2,Sybase,SQLServer,MySQL,MSAccess等。都是数据库。虽然语法上有区别,但基本上是一样的。作为一个数据从业者,虽然市面上有很多智能化、自助化的数据工具,有些甚至可以通过拖拽实现,但是作为一个报表工程师和数据分析师,懂一点SQL是绝对不行的。

之前很多文章都是轻轻带过SQL,忽略了这个基本功的重要性,所以今天我就来说说如何学习SQL。

市面上有很多书籍和教学视频。在这里,我帮你提炼核心点,给你一个学习方向。

本文主要从以下几个方面进行阐述,可以借鉴。

SQL快速学习路线数据库表基本操作SQL基本语句SQL高级语句

SQL快速学习路线

零基础自学SQL时通常会遇到2个坑:

一坑:,留学前安装数据库软件,可以是SQLSever或者MySQL。对于新人来说,安装数据库软件要花很多时间,坑太多。刚上大学时要求2天内自学SQL,安装SQLSever花了我1天时间。上一篇文章分享了MySQL的安装教程。一开始不需要太多复杂的功能,推荐小而美的MySQL和SQLSever也是可以的。

二坑:一上来就背SQL语法。我在那边见过太多新人记笔记背SQL。他们个人并不认可这种学习方法,不练习是记不住的。就像Excel函数,要理解意思和使用方法,关键时候去w3school查询一下就行了,以后用得多了自然就掌握了。(后台回复关键词“SQL”获得)

SQL学习路线

1.下载安装mysql,或者安装软件phpstudy(该软件自带MySQL数据库,安装启动简单)。

2.我这里用phpstudy。打开phpstudy后,点击下图中的启动,点击后数据库服务就会启动。

3.下载并安装Navicat软件。

这个软件可以很容易的连接到数据库,我们可以在这个软件中练习学习SQL语法。

4.与Navicat建立数据库连接。

点击文件——新建一个连接,随便填写连接名称。例如,我写了& quot本地& quot。主机名和端口不需要修改,用户名和密码都是root(因为我们安装的mysql默认用户名和密码都是root)。连接测试显示成功后,单击确定。

以后再来访问的时候,双击就可以了。

5.下载学习练习,包括练习所需的数据表。

6.导入步骤5中下载的数据表。(后台回复关键词“SQL”获得)

右键单击& quot本地& quot在步骤4中创建一个新的数据库test1,并双击打开新的数据库(打开后颜色为绿色)。

将刚刚下载的数据表文件(sqltest1.sql)拖放到test1上。

这时会出现上面的弹出窗口。单击开始,等待导入完成,然后单击关闭。

在左边空白处单击鼠标右键,然后选择& quot刷新& quot查看刚刚导入的数据表。

7.打开sql语法编辑器。

如下所示,单击Query ——创建一个新的查询,在空白处输入sql语法,然后单击Run。如果输入有错误,如果输入正确将返回查询内容。

8.实践中学习

打开练习的第一部分,边做边学,通过查询w3c的sql语法手册.完成

9.巩固练习

不看sql语法手册,尽量独立完成练习的第二部分。

以上是sql的学习路径,接下来是sql语句的学习。掌握了使用场景和含义,就不解释具体语法了。请参考w3c的sql语法手册的学习。这里我属于下一类,重点说一下。

数据库表基础操作

首先,数据库表必须掌握的基本操作,如创建表、删除表、向表中添加数据、从表中删除数据以及取出最重要的数据等。

1、CREATETABLE(建表)

不管怎样,你都要先造一张桌子~

当您成功构建一个表时,如果您忘记添加主键或外键,也不用担心。只需使用以下咒语:

构建的表如下:

Emp表

订单表

2、INSERT(插入)

将数据插入表格

插入数据后的Emp表

插入数据后的订单表

3

、UPDATE(更新)

4、DELETE(删除)

在使用delete删除emp表中数据时,要注意该表与其他表是否存在关联关系,比如:外键。emp表id是表orders的外键,如果要删除emp表中的id,得先删除orders表中的外键。

5、DISTINCT(去重)

在表中,可能会包含重复值,这并不成问题。不过,有时你也许希望仅仅返回唯一不同的值。使用distinct关键字进行处理,用于返回唯一不同的值。

注意:distinct关键字是去重!去重!去重!*把列中的重复值去掉!

曾经我在笔试的时候,有道SQL考题:请写出表中所有重复的name的所有数据。我当时没反应过来,直接就用了distinct关键字,后来就....

6、Select(取数)

SELECT语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。这是以后最常用的操作,占据你90%。

SQLSELECT语法

SELECT列名称FROM表名称

以及:

SELECT*FROM表名称

比如需获取名为"LastName"和"FirstName"的列的内容(从名为"Persons"的数据库表),请使用类似这样的SELECT语句:

SELECTLastName,FirstNameFROMPersons

SELECT通常结合其他函数和语法使用。

SQL基础语句

在实际的SQL使用中,肯定会涉及到有关函数的使用,这里简单介绍几种初学时必学的函数类型。

1、AVG()

AVG函数返回数值列的平均值。NULL值不包括在计算中。

2、COUNT()

COUNT()函数用于返回匹配指定条件的行数。

3、MAX()

MAX函数返回指定列的最大值,NULL值不包括在计算中

4、MIN()

MIN函数返回的指定列的最小值,NULL值不包括在计算中

5、SUM()

SUM函数返回指定列的总数

6、ROUND()

ROUND函数用于把数值字段舍入为指定的小数位数

round函数需要的参数


7、FORMAT()

FORMAT函数用于对字段的显示进行格式化

format函数需要的参数

SQL高级语句

这一部分的内容是通常用到的,属于最开始学习SQL知识时必须要熟练的,我这里大致列出几项。

1、LIMIT

2、LIKE

一般配合where使用,搜索条件中的指定模式

在上面我们可以看到,通配符“%”的使用方法,所以通配符必须要配合like运算符一块使用。

通配符还有以下几种:

3、IN

从字面意思就可以知道它的作用是什么了

4、JOIN

联表运算符JOIN,该运算符是用于将两个或者两个以上的表进行关联,并从这些表中查询数据。

对于联表来说,通过使用主键(primarykey)和外键(foreignkey)也可以建立连接。

除了上述直接使用条件关联,下面我们可以用可读性更高的INNERJOIN来写

还有其他几种方连接方式(外连接):

LEFTJOIN:就算右表中没有匹配,也从左表返回所有的行RIGHTJOIN:即使左表没有匹配,也行右表返回所有的行FULLJOIN:只要有一个表存在着匹配,就返回行

5、ALTER

穿插介绍一下alter,前面的例子中已经包含了几种alter使用方法。

6、UNION

UNION操作符用于合并两个或多个SELECT语句的结果集。

请注意,UNION内部的SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。

上面引用的意思就是:道不同,不相为谋!

UNION和UNIONALL命令几乎是等效的,不过加了“ALL”,就会列出所有的值。

注意:因为其也具有“唯一性”,容易和PRIMARYKEY混淆。面试或笔试常考两者的不同,在这里说明一下:

与PRIMARYKEY不同的是,每个表可以有多个UNIQUE约束,但是每个表只能有一个PRIMARYKEY约束。

为表添加UNION,这里给出使用的SQL语法。

7、AUTO-INCREMENT(自增)

在运用中,我们希望在每添加一条数据后,自动的为我们的主键创建值。

8、ORDERBY

在前面中已经使用到了有关orderby的SQL语句,orderby该语句用于对结果集进行排序,默认是进行ASC正序排序(从小到大)。

排序的两种方式:

ASC:升序(从小到大)DESC:降序(从大到小)

举栗:


ASC排序

对于DESC排序,这里就不进行举例了,大家可以自己写SQL试一下。

9、GROUPBY

通常配合合计函数使用,根据一个或多个列对结果集进行分组。

具体的用法在介绍函数时会涉及到。

10、HAVING

在上面的例子中,我们使用where关键字来增加查询条件,这里增加having字句是因为,where关键字无法与合计函数一起使用

同样引用上面的SQL语句。

具体的用法在介绍函数时会涉及到。

11、DEFAULT

DEFAULT约束用于向列中插入默认值。



本次文章中写的相关知识点是我以前在学习中随手记录的,对一些SQL大牛来说,这些已经是耳熟能详了。会不会让你们产生一种灌水的错觉????哈哈~


此文是《10周入门数据分析》系列的第6篇。

想了解学习路线,可以先行阅读“学习计划|10周入门数据分析”

公众号上已更新到第13篇,欢迎前往关注~

相关内容

热门资讯

金花创建房间/微信金花房卡怎么... 1.微信渠道:(荣耀联盟)大厅介绍:咨询房/卡添加微信:88355042 2.微信游戏中心:打开微...
金花房间卡/金花房卡如何购买/... 金花房间卡/金花房卡如何购买/新超圣金花房卡正版如何购买新超圣是一款非常受欢迎的游戏,咨询房/卡添加...
牛牛创建房间/金花房卡批发/神... 微信游戏中心:神牛大厅房卡在哪里买打开微信,添加客服【88355042】,进入游戏中心或相关小程序,...
链接牛牛/牛牛房卡游戏代理/鸿... 鸿运大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
科技实测!牛牛房卡怎么获得/乐... 微信游戏中心:乐酷大厅房卡在哪里买打开微信,添加客服【88355042】,进入游戏中心或相关小程序,...