产品经理该懂的技术(SQL基础)

产品经理不仅要有敏锐的市场洞察力,作为一个项目内部或外部的桥梁和翻译官,必须得懂些技术语言及实现原理,以便更好地与开发团队沟通,推动产品的技术实现和项目顺利落地。
掌握SQL基础不仅是技能上的加分项,更是与技术团队沟通、深入理解用户行为、驱动产品优化的必备工具。通过SQL,你能够直接与数据对话,提取洞察,从而做出更加精准的产品策略。
产品经理遇到的困惑场景:
- 场景1:想要分析用户行为数据,但不知道如何从数据库中提取和分析这些数据
- 场景2:需要基于数据做出产品决策,但不懂SQL,无法快速验证假设或测试不同的数据集
- 场景3:与开发或数据分析师沟通时,但不懂SQL,难以准确表达数据需求
1、什么是SQL?
SQL 全名 Structured Query Language, 结构化查询语言,也就是一种关系式数据库(Relational Database)的标准查询语言,可以通过此语法对数据库系统进新增、编辑、删除及查询等动作。
简单类比理解,一个Excel文件就是数据库,Sheet就每个数据表,行(数据)与列(字段)就组成了表结构数据。

SQL语法分类:
DDL - 数据定义语言 :
数据定义语言全称是Data Definition Language,定义语言就是定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象,比如表、索引、视图、函数、存储过程和触发器等等。
| 命令 | 描述 |
|---|---|
| CREATE | 创建一个新的表,表的视图,或者在数据库中的对象 |
| ALTER | 修改现有的数据库对象,例如一个表 |
| DROP | 删除整个表,数据库中的表或其他对象或视图 |
DML - 数据操纵语言:
数据操纵语言全程是Data Manipulation Language,主要进行插入数据、修改数据、删除数据的操作。
| 命令 | 描述 |
|---|---|
| INSERT | 创建记录(程序员口中的“增”) |
| DELETE | 删除记录(程序员口中的“删”) |
| UPDATE | 修改记录(程序员口中的“改”) |
DQL - 数据查询语言:
数据查询语言全称是Data Query Language,是用来进行数据库中数据的查询的,即最常用的select语句。
| 命令 | 描述 |
|---|---|
| SELECT | 从一个或多个表中查询记录(程序员口中的“查”) |
DCL - 数据控制语言:
数据控制语言全称是Data Control Language,用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。比如常见的授权、取消授权、回滚、提交等等操作。
| 命令 | 描述 |
|---|---|
| GRANT | 赋予用户或角色某种权限 |
| DENY | 用于拒绝用户或角色的某种权限 |
| REVOKE | 用户撤销用户或角色的某种权限 |
2、SQL语法基础
SQL 语句通常以分号(;)结尾,并且不区分大小写,但习惯上关键词大写,以提高可读性。
1 | --创建表 |
3、SQL示例
1 | --创建表(Users):包含四个列:Id、Name、Address 和 City。每个列的数据类型在括号中进行了定义,例如 Id 被定义为 int 类型,Name、Address 和 City 被定义为 varchar(255) 类型,意味着它们可以存储最大长度为 255 个字符的字符串。 |

3、SQL 执行顺序
我们要知道一点:SQL语句的书写顺序与执行顺序是不同的。书写时,我们通常按照SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY这样的顺序来组织查询,但实际上,SQL引擎在执行这些操作时,会遵循一个完全不同的逻辑顺序。
实际的执行顺序
- FROM:首先,SQL引擎会从
FROM子句中指定的表中读取数据。这一步是整个查询的基础,因为没有数据,后续的所有操作都无法进行。 - WHERE:接下来,SQL引擎会根据
WHERE子句中的条件对数据进行过滤。这一步的目的是减少需要处理的数据量,提高查询效率。 - GROUP BY:如果查询中包含了
GROUP BY子句,SQL引擎会将过滤后的数据按照指定的列进行分组。这一步骤对于聚合函数(如SUM、AVG、COUNT等)的计算至关重要。 - HAVING:
HAVING子句用于对分组后的结果进行过滤。与WHERE不同的是,HAVING可以引用聚合函数的结果。 - SELECT:到了这一步,SQL引擎才会根据
SELECT子句中的列名或表达式,从前面步骤处理过的数据中选取最终的输出结果。 - DISTINCT:如果
SELECT子句中有DISTINCT关键字,SQL引擎会去除重复的行,只保留唯一的记录。 - ORDER BY:最后,SQL引擎会根据
ORDER BY子句中的列名或表达式对结果进行排序。这一步是可选的,但如果存在,它总是在查询的最后阶段执行。
4、SQL 在线练习工具
SQLZoo
https://sqlzoo.net/wiki/SELECT_basics/zh
SQLZoo,是Andrew Cumming基于MediaWiki开发的免费在线SQL训练网站。 它提供了复杂程度不等的一系列SQL问题,用户可以自行提交解答并实时获得正误反馈。
SQL Fiddle
SQL Fiddle,是一个在线SQL编译器,可让您编写、编辑和执行任何SQL语句的工具,不用安装各类SQL数据库环境,不用安装数据管理工具,主打方便,小白上手容易练习使用。
- 标题: 产品经理该懂的技术(SQL基础)
- 作者: xuliyaoPro
- 创建于 : 2024-12-18 00:00:00
- 更新于 : 2024-12-18 00:00:00
- 链接: https://chinapmcc.com/2024/12/18/1.定义与规划/1.1基础认知与职业启航/产品经理该懂系列/产品经理该懂的技术(SQL基础)/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。