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

举报
梦想橡皮擦 发表于 2022/04/08 23:54:41 2022/04/08
【摘要】 📢📢📢📢📢📢 哈喽!大家好,我是 【梦想橡皮擦】,10 年产研经验,致力于 Python 相关技术栈传播 💗 🌻 本文如果觉得不错,动动小手点个赞赞吧 👍 🌻 本文如果发现错误,...

📢📢📢📢📢📢
哈喽!大家好,我是 【梦想橡皮擦】,10 年产研经验,致力于 Python 相关技术栈传播 💗
🌻 本文如果觉得不错,动动小手点个赞赞吧 👍
🌻 本文如果发现错误,欢迎在评论区中指正哦 💗
👍 技术博客日更者,我喜欢写文章,如果任意一篇文章对你有帮助,就挺好的~ 👍
📣📣📣📣📣📣

欢迎大家订阅专栏 ⭐️ ⭐️ 《Python 爬虫 120》⭐️ ⭐️

📆 最近更新:2022 年 4 月 8 日,橡皮擦的第 611 篇原创博客

⛳️ 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 等内容。

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

📣📣📣📣📣📣
🌻 本文如果发现错误,欢迎在评论区中指正哦 💗

欢迎大家订阅专栏 ⭐️ ⭐️ 《Python 爬虫 120》⭐️ ⭐️

文章来源: dream.blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。

原文链接:dream.blog.csdn.net/article/details/124021996

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。