
⑤ - 数据库开发实战篇
文章平均质量分 94
该专栏主要学席常用的三大数据库 “Mysql“、“Redis“、“mongodb“ 的安装、配置、基础知识与Python的交互,并实现一个“新闻管理系统”的小项目。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
哈哥撩编程
2022年度博客之星Top4、博客专家、"星荐官共赢计划"发起人、全栈领域优质创作者、新星计划导师、现象级专栏《白宝书系列》作者、易编程社区主理人。
展开
-
〖Python 数据库开发实战 - MySQL篇①〗- 数据库简介
接下来这一段时间我们将要了解数据库的相关知识,顾名思义 "数据库" 就是用来保存数据的。像美团、淘宝、京东等头部企业每天都有大量的数据保存,如果做一个横向的对比,是程序重要还是数据重要呢?那肯定是数据最重要了。比如说淘宝系统,开发淘宝大概是用了 7000W(这个数字是道听途说来的,非官方证实),但是淘宝的数据库数据所附带产生远远超过开发的成本,由此可见数据的重要性。............原创 2022-07-10 23:58:38 · 33327 阅读 · 30 评论 -
〖Python 数据库开发实战 - MySQL篇②〗- 一文通解关系型数据库与非关系型数据库
关系型数据库的定义:关系型数据库是数据库的一种类型,英文全称为 `Relational database` ,简称 "RDBMS" ,是指的使用了关系模型的数据库系统。这个阶段除了关系型数据库之外,也要学习非关系型数据库。因为 SQL语句是来操作关系型数据库的,所以大家常常将非关系型数据库也叫做 NoSQL数据库。......原创 2022-07-11 23:59:05 · 32855 阅读 · 14 评论 -
〖Python 数据库开发实战 - MySQL篇③〗- MacOS 环境下 MySQL数据库的安装与初始化
今天的章节我们来学习一下 MySQL 数据库的安装和初始化,挑选 MySQL 数据库进行学习是有原因的,因为这款数据库是应用最广泛普及度最高的关系型数据库产品;更重要的是开源免费的,可以说 MySQL 是各大互联网公司首选的数据库产品。......原创 2022-07-12 23:30:16 · 32978 阅读 · 21 评论 -
〖Python 数据库开发实战 - MySQL篇④〗- MacOS 配置 MySQL 环境变量及安装MySQL图形化工具 - MySQL Workbench
该章节只有两个知识点,那就是配置 MySQL 环境变量及安装MySQL图形化工具 - MySQL Workbench。配置 MySQL 环境变量是为了能够在终端操作 MySQL 数据库;但是终端界面在运行 SQL 语句查询数据等场景受限于终端页面的篇幅,所以我们还需要安装MySQL图形化工具 - MySQL Workbench。其实第三方的数据库图形化工具还有很多,比如 "Navicat" 、"DBeaver(有社区版)" 等,但是这两款工具是商业版软件,售价比 MySQL 还要高,所以我们就退而求其次,这原创 2022-07-13 07:00:00 · 33180 阅读 · 31 评论 -
〖Python 数据库开发实战 - MySQL篇⑤〗- 为大家推荐几款经典的数据库可视化工具
在上一章节,我们安装了 MySQL 官方提供的 MySQL Workbench 这款数据库可视化图形操作工具,虽然可圈可点并且相对终端来说拥有了很好的可视化图形操作。但是在使用习惯上来说在国内的普及度仍然不高,所以今天这一章节主要来为大家介绍几款比较热门的受众比较防范的几款数据库可视化图形操作工具。......原创 2022-07-14 06:00:00 · 33728 阅读 · 54 评论 -
〖Python 数据库开发实战 - MySQL篇⑥〗- 利用 PyCharm 链接 MySQL 实现数据库可视化
前面章节我们介绍了几款经典的 数据库可视化图形工具,比如 Navicat、DBeaver、SQLyog等等,使用这些工具都需要额外安装,甚至有的还可能收费。今天这一章节给大家介绍一个比较容易被大家忽略的 MySQL 可视化工具,大多数学python的人,都会使用pycharm,不得不说pycharm的功能及其强大,pycharm本身也是一个功能很强的数据库可视化工具,换句话说,如果安装了pyharm,那根本没必要在安装其他可视化工具了!.........原创 2022-07-15 06:00:00 · 2152 阅读 · 28 评论 -
〖Python 数据库开发实战 - MySQL篇⑦〗- MySQL的用户管理与重设用户密码
这一章节我们将来学习一下 MySQL 的用户管理,之前我们 "安装 MySQL 的章节" 默认的 root 账户(即管理员账户)。这个账户是权限最高的账户,一般情况下只有数据库管理员 - DBA 才会使用该账户登录 MySQL 。像是开发人员,一般情况下会创建一个权限较低的账户交付开发、测试人员使用,比如说增删改查等一系列操作,销毁数据库、数据表这种操作一般是不会赋予的。......原创 2022-07-16 06:00:00 · 32661 阅读 · 28 评论 -
〖Python 数据库开发实战 - MySQL篇⑧〗- MySQL的配置文件与常用的配置方案
今天这一章节,我们来讲解一下 MySQL 的配置文件。既然开始写数据库的学习章节,就不能简单的讲一下 "增、删、改、查" ,再讲讲 "创建索引"、"回滚事务"等等。学数据库就要学明白,毕竟将来是靠技术赚钱的。要学习明白怎么用,怎么配置,学懂学透彻了;当然了 MySQL 的配置有上百个,所以这里会挑选其中最重要的一些参数给大家介绍一下,其他的参数等到用到的时候再来介绍吧。...原创 2022-07-17 06:00:00 · 32503 阅读 · 14 评论 -
〖Python 数据库开发实战 - MySQL篇⑨〗- 什么是 SQL 语言、如何创建数据逻辑库及如何创建数据表
在之前的章节,我们对 MySQL 的安装、配置有了一定的了解。接下来的篇章我们将来学习一下如何操作逻辑库和数据表。原创 2022-07-18 06:30:00 · 32756 阅读 · 44 评论 -
〖Python 数据库开发实战 - MySQL篇⑩〗- MySQL 中不同的数据类型
今天章节的内容不多,主要给大家介绍一下 "数据类型" 。上一章节我们在创建数据表的时候有见到过一些数据类型,比如 "INT、VARCHAR、CHAR"等等...原创 2022-07-19 06:00:00 · 32402 阅读 · 32 评论 -
〖Python 数据库开发实战 - MySQL篇⑪〗- 修改数据表结构
该章节内容略少, 就是修改数据表的结构。数据表一但定义出来以后,我们是可以往数据表里添加新的字段,或者是将已有的字段进行改名的,甚至把已有的字段删掉都是可以的。接下来我们就学习一下如何去修改数据表的结构。...原创 2022-07-20 06:00:00 · 32346 阅读 · 26 评论 -
〖Python 数据库开发实战 - MySQL篇⑫〗- 数据表的字段约束
该章节我们将来学习一下字段约束,毕竟定义数据表的时候是少不了字段约束的。原创 2022-07-21 06:30:00 · 32376 阅读 · 28 评论 -
〖Python 数据库开发实战 - MySQL篇⑬〗- 数据库的索引机制
该章节来学习一下数据库的索引机制,随着时间的积累往数据库存储的数据就会越来越多,一但达到上千万条数据,如何提高检索速度就需要好好的考虑了。如何减少数据查找的时间是非常重要的一环,索引机制就是提升检索速度的。.........原创 2022-07-22 23:59:57 · 31812 阅读 · 14 评论 -
〖Python 数据库开发实战 - MySQL篇⑭〗- 数据表的基本查询与数据分页
数据库为我们提供了 SQL 语言,该章节学习如何通过特定的条件在数据表简单的单表查询。之所以说是简单查询,是因为查询语句里面只包括 "SELECT" 和 "FROM" 语句,"FROM" 语句主要一般是确定数据的来源,从那个数据表查询数据。"SELECT" 语句是用来提取字段的数据,在结果集里就可以看到想要查询的字段内容了。这样的SQL查询功能比较简单,所以就被称作是 "简单查询"。...............原创 2022-07-23 23:55:52 · 32388 阅读 · 18 评论 -
〖Python 数据库开发实战 - MySQL篇⑮〗- 数据表结果集的排序与去除重复(去重)
该章节我们将要学习针对SQL语句查询的结果集中的记录进行排序与去除重复记录(去重)。默认情况下,MySQL 不会对结果集中的数据进行排序。如果说我们想要针对某个字段按照一定的规律排序,可以使用 MySQL 为我们提供的 "ORDER BY" 子句来实现排序的功能;去重也是一样,虽然数据表的主键不能存在重复的记录,但是作为结果集却是可以有重复的情况出现的,针对结果集的去除重复记录,MySQL 也为我们提供了相对应的关键字 "DISTINCT" ,使用 "DISTINCT" 即可实现针对结果集去重的效果。..原创 2022-07-24 23:55:22 · 32302 阅读 · 14 评论 -
〖Python 数据库开发实战 - MySQL篇⑯〗- SQL 语句的条件查询
该章节我们来学习条件查询,有了条件查询,就可以查找出符合条件的查找记录了。比如说 "10" 和 "20" 部门月薪超过 "2000" 的员工信息,只有条件查询才能帮我们筛选出这种想要的信息记录。原创 2022-07-26 00:00:25 · 32833 阅读 · 10 评论 -
〖Python 数据库开发实战 - MySQL篇⑰〗- 聚合函数的使用
今天的章节我们将要来学习一下 "聚合函数" ;首先我们需要学习聚合函数对数据进行统计分析,比如说求最大值、最小值、平均值之类的场景。但是单纯的使用聚合函数,只能做全表范围的统计分析。如果想要把记录分组分别统计,需要使用 "GROUP BY" 和 "HAVING" 这样的分组子句了。关于分组查询的应用,将在下一章节为大家进行讲解。当前章节我们还是学习一下 "聚合函数" 的基本使用。......原创 2022-07-26 23:52:30 · 32019 阅读 · 32 评论 -
〖Python 数据库开发实战 - MySQL篇⑱〗- 分组查询的应用
该章节来开始学习分组查询,上一章节我们学习了聚合函数,默认统计的是全表范围内的数据,配合上 WHERE 就能够缩小统计的范围了。但是这并不能满足我们的要求,比如说我们按照之前的数据表查询每个部门的平均底薪是多少?这样的记录就需要针对部门编号进行分组了。根据分组的情况统计分组内的最大值、最小值、平均值等等。如此就能够满足刚刚提到的 "查询每个部门的平均底薪" 这样的需求了,另外,"分组查询" 是 SQL 中很重要的一个语法,大家一定要好好掌握它。............原创 2022-07-27 23:47:52 · 32181 阅读 · 24 评论 -
MySQL - count(字段)、count(主键)、count(1)、count(*)的区别
该章节内容很少,只是针对MySQL - count(字段)、count(主键)、count(1)、count(*)的区别,进行的一个简短的记录。原创 2022-07-28 23:37:19 · 32616 阅读 · 44 评论 -
〖Python 数据库开发实战 - MySQL篇⑳〗- 数据表的内连接
该章节的内容为多表连接查询的内连接,因为 MySQL 是关系型数据库,数据是拆分重组在多个数据表里面的。所以我们势必要从多个数据表中提取数据,通过 SQL 语句的内连接与外连接就能够实现多表查询了。这部分内容是需要我们重点学习的,学习的过程中会穿插多种的案例来强化对表连接的语法的运用。(简单一点来说,其实就是从多张表里查询数据集,这一大段是我为了给摘要凑字数用的!)......原创 2022-07-30 23:14:29 · 32072 阅读 · 55 评论 -
〖Python 数据库开发实战 - MySQL篇㉑〗- 数据表的外连接
该章节的内容为多表连接查询的外连接,因为 MySQL 是关系型数据库,数据是拆分重组在多个数据表里面的。所以我们势必要从多个数据表中提取数据,通过 SQL 语句的内连接与外连接就能够实现多表查询了。这部分内容是需要我们重点学习的,学习的过程中会穿插多种的案例来强化对表连接的语法的运用。......原创 2022-08-01 23:46:49 · 32132 阅读 · 50 评论 -
〖Python 数据库开发实战 - MySQL篇㉒〗- 子查询的语法规则
子查询是在查询语句里面再嵌套一个查询,这是因为我们在提取数据的时候有很多不知道的数据产生了依赖关系。此时我们就需要先查询一组数据的结果集,然后将这个结果集作用为下一个查询的对象。在 "表连接的章节",我们曾说过子查询的效率低下的问题,其实并不是所有的子查询效率都是低下的,"WHERE" 子查询在匹配记录的时候要反复执行,这是不推荐使用的;但是如果将查询结果集当做一张表来使用,与其他的表做一个连接,这就是 "FROM" 子句的子查询了,这种子查询的方式,还是比较推荐使用的。......原创 2022-08-03 23:46:21 · 31577 阅读 · 10 评论 -
〖Python 数据库开发实战 - MySQL篇㉓〗- 单行子查询与多行子查询语法规则
该章节我们继续来学习一下 "子查询" 的语法,在上一章节,我们是按照 "子查询" 的"子句" 来进行划分的分别有 "WHERE 子查询","FROM 子查询" 与 "SELECT 子查询" 。本章节我们将以子查询的结果集记录的数量来划分子查询,接下来一起来看一下吧。......原创 2022-08-05 23:47:40 · 31662 阅读 · 8 评论 -
〖Python 数据库开发实战 - MySQL篇㉔〗- 数据插入操作 - INSERT语句
前面我们用了很多章节去学习了 "查询语句" ,这是因为以后在实际工作中,"增"、"删"、"改"、"查" 这四种类型的 SQL 语句操作使用最多的就是 "查询语句"。而且在大多数软件当中,都是 "读多写少" 的,查询的条件也是各种各样,所以在 "查询" 相关的操作就刻意的将各个部分的知识点分门别类的加强了一下。在实际工作后就可以体会得到,我们所接触的查询语句,已经能够应对大部分的业务要求了。在该章节,我们就爱那个学习心得 "DML" 语句,那就是向数据表中写入数据记录 ---> "INSERT 语句"。.原创 2022-08-06 23:55:30 · 33200 阅读 · 6 评论 -
〖Python 数据库开发实战 - MySQL篇㉕〗- 数据更新操作 - UPDATE 语句
该章节我们学习一下用于数据更改的 "UPDATE" 语句, "UPDATE" 语句也是属于 DML 这一类数据库操作语言。原创 2022-08-07 23:58:55 · 32983 阅读 · 26 评论 -
〖Python 数据库开发实战 - MySQL篇㉖〗- 数据删除操作 - DELETE语句
该章节我们将要学习的是作为删除数据使用的 "DELETE" 语句,"DELETE" 语句是用来删除数据的,它不能用来删除数据表本身。删除数据表使用的是 "DROP" 语句,而 "DELETE" 的作用只是用来删除记录而已。............原创 2022-08-09 23:39:04 · 32711 阅读 · 26 评论 -
〖Python 数据库开发实战 - MySQL篇㉗〗- MySQL 数字函数
该章节开始我们将要学习 MySQL 的函数,在前面的章节我们使用过几个函数;比如 "四舍五入" 的 "ROUND" 函数,进行 "日期计算" 的 "DATEDIFF" 函数等等。接下来,我们就来系统的学习一下这些内置函数吧。.........原创 2022-08-10 23:57:37 · 31936 阅读 · 34 评论 -
〖Python 数据库开发实战 - MySQL篇㉘〗- MySQL 日期函数
该章节我们来学习 "日期函数",关于 "日期函数" 其实并不陌生。在前面章节的练习中,我们就利用过 "NOW()" 函数来获取过当前系统时间,用 "DATEDIFF" 函数来计算日期相差的天数,接下来我们就系统的学习一下 "日期函数"。......原创 2022-08-11 23:58:27 · 30783 阅读 · 46 评论 -
〖Python 数据库开发实战 - MySQL篇㉙〗- MySQL 字符函数
该章节我们来学习 MySQL 的 "字符函数" ,顾名思义 "字符函数" ,那就是处理字符串的。在实际工作中,处理字符串的需求还是很多的,比如说保留手机尾号的后四位,员工英文名的首字母大写等等。废话不多说了,接下来就看看一下将要学习哪些字符串函数吧。...原创 2022-08-12 22:11:22 · 30550 阅读 · 14 评论 -
〖Python 数据库开发实战 - MySQL篇㉚〗- MySQL 条件函数
该章节我们将要学习 MySQL 的最后一个类型的函数 ---> "条件函数" 。在编程语言中,我们可以使用 "if...else..." 这样的条件判断,在 SQL 语句中也可以实现类似的条件判断。接下来我们就开始学习 "条件函数" ,完成这样的 "条件判断" 吧。......原创 2022-08-13 23:58:45 · 31396 阅读 · 26 评论 -
〖Python 数据库开发实战 - MySQL篇㉛〗- 事务机制的概念与特性
该章节开始我们将学习一个非常重要的知识点,那就是 "数据库的事务机制" 。在之前的章节介绍 MySQL 历史的时候提到过,MySQL 是在 5.0 版本之后引入的事务机制 才正式的打开了企业市场的。接下来就了解一下 "事务机制" 对于一个数据库产品来说,到底有多重要。............原创 2022-08-14 23:53:26 · 31982 阅读 · 48 评论 -
〖Python 数据库开发实战 - MySQL篇㉜〗- 事务的隔离级别
上一章节我们宏观上的了解了 "事务的ACID" 属性,并通过 "undo" 与 "redo" 日志文件分析了 "事务的ACID" 是如何实现的。接下来我们就从新的视角来学习一下事务机制,那就是 "事务的并发性"。数据库的事务都是并发执行的,因为隔离性的问题会给一些业务场景带来问题。该章节我们主要学习的目的就是学习事务并发执行的条件下,如何修改事务的隔离级别来满足业务的要求。.........原创 2022-08-15 23:55:56 · 31596 阅读 · 30 评论 -
〖Python 数据库开发实战 - MySQL篇㉝〗- 数据的导入与导出
该章节要学习的是如何导入导出数据,很多人都认为数据的导出与导入等价于数据的备份与还原,其实这种观点是错误的。原创 2022-08-16 23:55:22 · 31644 阅读 · 29 评论 -
〖Python 数据库开发实战 - MySQL篇㉞〗- 综合案例 - 新闻管理系统数据库设计的基本属性
在介绍之前先说一下我们最终要完成的程序的案例,当前的数据库开发实战篇的章节在整个专栏的体系当中属于 "操作持久层" 的一部分。"持久层"指的就是数据库,包括后面我们要学习的 "Redis" 和 "MongoDB";所有的大型商业系统都是离不开数据库的,我们最终使用 flask 与 Django框架去搭建网站,甚至是用 Python 编写爬虫程序都离不开数据库的支持。...原创 2022-08-17 23:59:24 · 31950 阅读 · 18 评论 -
〖Python 数据库开发实战 - MySQL篇㉟〗- 综合案例 - 数据库ER图设计、新闻类型表与用户角色表的创建
该章节我们一起来把 "新闻管理系统" 用到的四张表创建出来,虽然说数据表不多,但并不代表业务不复杂,也不意味着 SQL 语句的书写就很简单。比如说 demo 逻辑库的四张表,围绕着这四张表我们书写的 SQL 语句可是千变万化的。所以 "新闻管理系统"的四张表,就不能说这个系统很简单。...原创 2022-08-18 23:57:22 · 32023 阅读 · 22 评论 -
〖Python 数据库开发实战 - MySQL篇㊱〗- 综合案例 - 关于数据表 password 字段的数据加密
在上一章节我们完成了 “t_type” - “新闻类型表” 、 “t_role” - “角色表” 的创建,接下来我们应该去创建 “t_user” 用户表才对。这里我先卖个关子,在创建 “t_user” 用户表之前,我们要先来学习一个知识点 —> “数据加密” 。为什么会讲到 “数据加密”,这是因为在之前的章节我们提到过,在创建 “t_user” 用户表的时候,存储 “password” 的信息我们需要进行脱敏的加密操作,所以接下来就看看究竟什么是 “数据加密” 吧。原创 2022-08-19 23:55:44 · 31356 阅读 · 10 评论 -
〖Python 数据库开发实战 - MySQL篇㊲〗- 综合案例 - 新闻管理系统 - t_user 用户表与 t_news 新闻表的创建
该章节我们继续完成剩下两张表的创建,上一章节我们学习了 AES 加密与解密的使用,所以我们创建用户表的时候就可以向其中插入记录的时候,对密码字段进行加密了。接下来,就开始创建数据表吧。原创 2022-08-20 23:55:58 · 31087 阅读 · 2 评论 -
〖Python 数据库开发实战 - Python与MySQL交互篇①〗- MySQL Connector 驱动模块的连接语法
因为是 Python 体系的系列专栏,所以学完 MySQL 的接下来我们将要学习如何利用 Python 程序去操作数据库。连接数据库这里选用的是 MySQL 官方的 Python 模块 ---> MySQL Connector 模块。(因为是官方的模块,所以对 MySQL 官方的兼容会很好。)接下来我们就来学习利用 "MySQL Connector" 模块去连接 MySQL 数据库,然后执行 SQL 语句。原创 2022-08-21 23:50:42 · 31133 阅读 · 10 评论 -
〖Python 数据库开发实战 - Python与MySQL交互篇②〗- SQL 注入攻击案例
上一章节,我们只是简单的了解了 MySQL Connector 的语法,完成了一个简单的案例。Python 语言操作数据库不是到这里就结束了后续还有很多高级的内容等着我们去学习,该章节我们就来学习一下对所有数据库都有效的 "SQL 注入攻击" 。原创 2022-08-22 23:57:50 · 31526 阅读 · 10 评论 -
〖Python 数据库开发实战 - Python与MySQL交互篇③〗- MySQL Connector的事务控制与异常处理
在上一章节,我们见识到了什么是 SQL 注入攻击,最后我们选择了 "预编译" 这种防 "SQL注入攻击" 的模式来抵挡 "SQL注入"。预编译除了这个好处之外,还可以提升 SQL 语句的执行速度,以后当我们执行 SQL语句 的时候,都要选择 "预编译" 这种形式。接下来我们将要学习的是 MySQL Connector 模块的 "事务控制" 与 "异常处理" 。...原创 2022-08-23 23:55:24 · 31903 阅读 · 26 评论