写点什么

小公司里面的 Python 后端,数据库(MySQL)到底要学习到什么程度?

作者:梦想橡皮擦
  • 2022 年 5 月 21 日
  • 本文字数:1574 字

    阅读完需:约 5 分钟

📆 最近更新:2022 年 4 月 8 日,橡皮擦的第 <font color=red>611</font> 篇原创博客 @[toc]

⛳️ Python 后端数据库要求

作为一个 Python 后端程序员,每天基本都会与数据库打交道,而在二线城市,你的数据库要掌握到哪种程度,才可以成为一名合格的初中级工程师呢?


本篇博客为大家详细说明一个普普通通的省会城市,Python 后端对 MySQL 的要求。


不要类比大厂,大多数人都在从事着普通的应用开发。本文面向的是初中级程序员,请各位高级程序员和架构师,不要对号入座。

⛳️ 我们都在用 MySQL 做什么?

基本工作场景总结如下:


  1. 日常使用最多的是查询,附带增删改。

  2. 数据库建表一般不使用命令,直接用可视化工具操作即可,一般都安装一个 Navicat 在自己的电脑上(远程也用这个连接),当然九成九使用的也是被免费版本;

  3. 常用的索引是主键索引,外键索引,唯一索引,关联索引;

  4. 公司里面一般会使用常用的 DAO 框架,所以很少直接写 SQL 语句,如果你会写,会大大的加分;

  5. 数据库单表数据一般不会特别大,百万级数据很少能达到;

  6. 部分公司也存在分库分表,负载均衡等实践,但是一般能上这些内容的公司,都会有运维部分,作为一个单纯的后端开发人员,应用即可,很少会涉及,而且你可以使用一些云数据库,非常便捷的就可以解决负载问题

⛳️ 数据库加分项

其实在公司,后端程序员也有职能上的区分,一般按照工作年限和级别区分,技术好一些的,会涉及表结构,表优化等操作,新入职的,仅涉及一些业务逻辑的编写,相应的,面试的时候碰到的问题,也会有所差异。


初级程序员:询问逻辑实现,偏 Python 技术体系,偏框架;


中级程序员:询问底层框架搭配,询问数据库优化,询问大数据处理……

⛳️ 数据库学习线路

如果你非计算机专业出身,通过自学或者培训进入到了 IT 行业,并且从事的是 Python 后端相关岗位。建议你的学习路线如下所示:


  1. MySQL 不同版本环境搭建;

  2. MySQL 基本操作;

  3. 数据查询;

  4. 常用函数;

  5. 索引;

  6. 存储过程;

  7. 触发器;

  8. 视图;

  9. 事务。


以上内容可以简单学习,争取都了解到,其中可以把精力重点放在查询和索引上。这部分的知识点细节如下:


  1. 数据库操作,创建、查看、选择、删除;

  2. 数据表操作,创建、查看、修改、重命名、删除;

  3. SQL 语句操作,插入、修改、删除;

  4. 数据查询,基本查询、单表查询、聚合函数查询、连接查询、子查询、合并查询


基本内容掌握完毕,就要了解一些 MySQL 中涉及的函数了,例如:


  1. 数学函数

  2. 字符串函数

  3. 日期时间函数

  4. 条件判断函数

  5. 系统信息函数

  6. 加密函数


对于 MySQL 高级部分,可以从存储过程开始学习,接下来的就是触发器、视图、事务等内容,这些在 Python 后端工作中都会反复涉及。


如果这些学下来还不满足,可以针对数据库备份还原性能优化数据库安全等内容学习,不过这些知识点的上手难度有些大,初级阶段可以绕一下或者躲一下


在学习 MySQL 的时候,如果你能对数据库表结构关系(例:一对多)还有范式(例:第一范式)有所理解,相信对你的后续的学习帮助极大。


特别备注:Python 后端的操作大量的涉及 SQL 语句操作,所以下述命令要好好学习:


  • select

  • where

  • limit

  • order by

  • group by

  • join

  • left join

  • ……

⛳️ 数据库运维日常

Python 后端程序员除了应用逻辑的编码工作外,有时还需要对产线数据库日志进行分析,上手最简单的就是慢日志二进制日志,这些内容可以参考橡皮擦的运维系列和 MySQL 优化系列专栏:



对于 MySQL 锁相关的知识,可以在工作中逐步补充,但是初学阶段,还是需要针对面试准备一些资料,这个知识点在你面试后端的时候,被问到的概率极高。


接下来你可以准备回答如下问题:


  1. 什么是共享锁

  2. 什么是排他锁

  3. 锁的粒度

  4. 描述乐观锁、悲观锁

⛳️ 总结

如果上述基础知识都学习完毕之后,那可以重点关注一下 Python 中提供相应能力的第三方库,例如 pymysql,mysqlclient,peewee,SQLAlchemy 等内容。


📗 希望你找到自己喜欢的工作,最好是在自己的老家。📗


发布于: 刚刚阅读数: 3
用户头像

爬虫 100 例作者,蓝桥签约作者,博客专家 2021.02.06 加入

6 年产品经理+教学经验,3 年互联网项目管理经验; 互联网资深爱好者; 沉迷各种技术无法自拔,导致年龄被困在 25 岁; CSDN 爬虫 100 例作者。 个人公众号“梦想橡皮擦”。

评论

发布
暂无评论
小公司里面的 Python 后端,数据库(MySQL)到底要学习到什么程度?_5月月更_梦想橡皮擦_InfoQ写作社区