【杂谈】产品经理Mysql查询入门

PM SQL查询快速入门记

既然有才又好看的产品小伙伴给机会,那我就不要脸地假装懂点SQL了

前言

SQL学习使我快乐,这不,我天天跟着这位老湿学:

在这里插入图片描述

老兴奋了

开个玩笑,言归正传。

此文的目标用户是产品小伙伴,日常使用SQL的主要需求应该是查询,至于增查改维护等交给DBA或开发就好。那么我们就从认识常见的工具开始,学习简单的查询语句来逐渐了解熟悉SQL。至于一些用于定义数据库、表、增改的语句,时间与篇幅有限,小伙伴们日后再慢慢了解即可。

目标

  • 认识常用的工具,了解一些简单的基础操作
  • 能看懂一些简单的查询
  • 能简单使用查询语句去查询目标数据库里的一些数据

在下面正式开始之前简单了解一下概念:

SQL 是给_关系型数据库_,即长得很像 Excel 表格的数据库的查询语言。
学习和工作中常见的_关系型数据库_有很多,例如Sql Server、Mysql、Oracle、PostgreSQL等。这些数据库由不同的厂商出品。也正因为厂商不同,因此SQL在不同版本的数据库中有略微差别,但是绝大部分语句通用,大差不差,会一种其他的基本也OK。本文以Mysql举例。
至于更官方、严谨的概念描述,随便搜一下都有喏,这里不赘述。

1. 工具推荐

工欲善其事必先利其器,首先推荐一些学习和使用SQL过程中常见的工具。

1.1 安装数据库

单位的数据库是已经安好的,可以直接用。

如果想体验安装自己的数据库,刚开始网上的许多教程都建议先在自己电脑本地安装,具体安装方式可以参考一下这篇我于2022年在我C站博客小号写的:Mysql入门

至于类似现在工作中的服务器上的数据库安装推荐参考我的博客大号:CoderSharry_Linux-Docker-Mysql

1.2 连接工具

如果没有合适的连接工具,仅使用Mysql提供的命令行工具,那我们使用Mysql将会像是这样的:
在这里插入图片描述

市面上常见的Mysql连接工具有:
Navicat Premium、DataGrip、MySQL Workbench 等等非常多,搜一搜,选一个自己喜欢的,再找个安装教程装一下,即可。

例如Navicat大概是这样的:
在这里插入图片描述

可以实现很多可视化操作,非常方便。

1.3 AI工具

目前的AI工具虽然不能保证结果100%准确,但参考价值已经比以前有了质的飞跃。一般我们个人常用的GPT、Copilot、Claude以及国产的一众AI均可满足我们基本的问答参考需求。

准备一两款趁手的AI工具,进行接下来的学习吧。

2. 查询入门

这里我们就介绍一点简单的入门查询,应该能基本满足现阶段PM小伙伴的需要了吧。

2.1 SELECT 语句

从全表查开始:算是SQL的 “Hello World”

全表查

SELECT * FROM <TABLE_NAME>

例如:

SELECT * FROM `nutrition_standard_chinese`

好了,你已经会查询语句了

指定列

SELECT <column1, column2 ...> FROM <TABLE_NAME>

例如:

SELECT id, shrt_desc FROM `nutrition_standard_chinese`

2.2 WHERE 条件

通常,我们需要添加WHERE条件,给我们的查询做一个筛选。

比较条件

SELECT <column_list> FROM <TABLE_NAME> 
WHERE <column> <compare_condition> <condition_value> 

例如:

SELECT
	*
FROM
	`nutrition_standard_chinese`
WHERE water_g < 20

模糊匹配
模糊匹配就是当某个字段部分命中关键字时,返回这些命中的结果。

SELECT <column_list> FROM <TABLE_NAME> 
WHERE <column> LIKE <condition_value> 

例如:

SELECT
	*
FROM
	`nutrition_standard_chinese`
WHERE shrt_desc LIKE '%黄油%'

思考: 上述语句若改成LIKE '%黄油'或者 LIKE '黄油%',其结果会如何?

2.3 JOIN 连表

JOIN 连表有很多方式,每种 JOIN 都有差别。
常用的有如下三种:
在这里插入图片描述

SELECT <column_list> FROM <TABLE_1> 
[join_type] JOIN <TABLE_2> ON <column_1> <compare_condition> <column_2>
WHERE <column> LIKE <condition_value>

例如:

SELECT
	*
FROM
	nutrition_standard_chinese nsc
	INNER JOIN nutrition_standard_english nse ON nsc.water_g = nse.water_g 
WHERE nsc.shrt_desc LIKE '%黄油%'

2.4 聚合/分组

分组通常和聚合函数一起使用。

SELECT <column_list>, <AGGREGATE_FUNCTION(column_name)>
FROM <TABLE_NAME>
WHERE <condition>
GROUP BY <column_list>
ORDER BY <column_list>;

例如:

SELECT
	id,
	COUNT(*)
FROM
	nutrition_standard_chinese nsc
WHERE nsc.shrt_desc LIKE '%黄油%'
GROUP BY id

更多的聚合函数,如SUM()、AVG() 等,时间与篇幅有限,请自行查阅。

2.4 子查询

子查询就是查询里面嵌套查询,例如我们在连表的时候使用一个子查询:

SELECT 
 t1.*
FROM nutrition_standard_chinese t1 
WHERE 
	t1.id < (
	  SELECT AVG(id) FROM nutrition_standard_chinese
	)

2.5 其它语句/关键字

其他语句及还有很多,如WITH子句、CASE WHEN分支结构、UNION、HAVING条件等等,时间与篇幅有限,请自行查阅。

但是这些一般是一些复杂的查询才会用到,逐渐熟悉后,用到的时候再查也不迟。

3. 推荐与参考

3.1 博客/文档

3.2 视频

3.2 在线练习

总结

本文主要给产品小哥哥小姐姐介绍了一下简单且常用的SQL查询语句。

既然咱们这么有缘,一键三连互粉一下呗,点点关注不迷路,让我也偷师一下产品的秘技。所以,既然大家都这么卷,那产品小伙伴啥时候传授点秘技给我们呀

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值