MySQL基础语法解析及其在Python爬虫中的应用 一.简介MySQL 是一个开源、免费且成熟稳定的关系型数据库管理系统RDBMS被广泛应用于各类 Web 应用和爬虫数据存储中。 所谓“关系型”指的是它将数据以二维表格的形式组织存储类似 Excel 工作表表与表之间可以通过共有的字段如用户ID建立关联配合结构化查询语言SQL能够对数据进行非常严谨、灵活的增删改查操作并严格保证数据的一致性和完整性支持事务 ACID。在爬虫开发中MySQL 常作为最终的数据归宿地通过编写 Pipeline 组件将 Scrapy 抓取的清洗后数据持久化存储到本地或云端的 MySQL 服务中便于后续的查询与分析。二.可视化结构由于MySQL本身是在cmd命令行中操作的因此需要借助可视化工具获得更好更直观的使用体验常用第三方可视化工具有Navicat、DBeaver等等这里使用DBeaver进行演示。右侧端口号为3306的localhost就是我们电脑上的MySQL服务程序MySQL数据库默认端口号是3306下面数据库一栏中放着默认数据库和我们创建的所有数据库在使用中我们应避免使用默认数据库。三.SQL语言由于数据库管理系统功能非常多不仅存储数据还包含数据的管理、表的管理、库的管理、账户管理、权限管理等等所以操作数据库的SQL语言也基于功能被划分为四大类。SQL语句大小写不敏感,命令结束必须带分号1.数据定义DDLData Definition Language库与表的操作a.库的相关操作输入命令show databases;查看数据库。输入命令use 数据库名称;使用和切换数据库后续想要更换数据库进行操作也输入此命令。输入命令select database();查看当前正在使用的数据库鼠标选中单条命令可单独执行此命令。输入命令create database [if not exists] 数据库名称 [charset 编码名称];创建数据库中括号表示可写可不写写的话不用写括号直接写命令如果加第一个括号中的内容表示如果存在同名数据库就不进行任操作反之创建数据库。第二个括号中内容作用是设置编码方式MySQL默认utf-8编码这里不用加横杠最好显式设置一下。注左侧不显示数据库就右击刷新一下。输入命令drop database 数据库名称;删除指定数据库。b.表的相关操作在我们创建表时要为列指定一个列类型列类型有以下几种可按需选择输入命令create table [if not exists] 表名称( 列名称 列类型, 列名称 列类型, ......);创建表注意图中格式且最后一行没逗号如果加括号中的内容表示如果存在同名表就不进行任操作反之创建表。输入命令rename table 旧表名 to 新表名;来修改表名。输入命令alter table 表名 add 列名 列类型;单独添加一列不能添加数据。输入命令alter table 表名 change 旧列名 新列名 新列类型;更改列名和列类型如需只更改类型写相同列名即可。输入命令alter table 表名 drop 列名;单独删除一列。输入命令show tables;查看表注在此之前应先用use选择使用哪个数据库。输入命令desc 表名;查看表结构每一列的类型等信息库里有多张表难免会忘记某张表的设置信息这时就需要靠此命令查询。输入命令drop table 表名;删除指定数据表。2.数据操纵DMLData Manipulation Language增删改数据a.数据插入字符串最好用单引号输入命令insert into 表名(列名) values(值1)[, (值2), (值3)......];进行单列插入插入一条或多条数据。输入命令insert into 表名(列1, 列2, 列3, ......) values(列1对应值, 列2对应值, 列3对应值, ......), [(列1对应值, 列2对应值, 列3对应值, ......), ......];进行多列插入插入一条或多条数据。注多列插入可以省略列名但值的位置和类型必须一一对应b.数据删除条件判断的常见操作符输入命令delete from 表名称 [where 条件判断];从表中删除数据。如果不加中括号中的条件判断句就是清空整张表中的数据但不删除表格。c.数据更新输入命令update 表名 set 列 值 [where 条件判断];进行数据更新操作。不写条件判断就是修改整张表中指定列的所有值。3.数据查询DQLData Query Language查询和计算数据a.基础查询输入命令select 字段列表 | * from 表;进行数据查询“ | ”表示前后可选。“ * ”是通配符代表所有。b.分组聚合简介如果要统计一个班级中男生和女生的人数就需要先按性别分组再i统计每组人数这就是分组聚合。常用聚合函数;输入命令select 字段 | 聚合函数 from 表 [where 条件] group by 列;进行分组聚合操作group by后写了谁字段中才能出现谁但聚合函数无限制可以有一个或多个。由于这个结果并不够直观我们可以加上gender字段增加视觉效果如果字段和聚合函数同时存在中间要有逗号隔开否则报错聚合函数可以有一个或多个中间同样要逗号隔开这里count(gender)表示满足条件且有性别的数据有几条。c.排序分页输入命令select 列 | 聚合函数 | * from 表 where ... group by ... order by ... [asc | desc];指定某个列进行排序其中asc即ascending代表升序desc即descending代表降序。desc降序排列。输入命令select 列 | 聚合函数 | * from 表 where ... group by ... order by ... [asc | desc] limit n[ , m];进行限制排序和分页如果limit后只有n则返回符合前置条件且排名前n条的数据。limit后n和m都有则显示符合前置条件的数据从第n1条开始到第m条。四.Python操作MySQL的基本方法1.连接MySQL要用Python操作MySQL储存我们爬取的数据必须要用到一个名为pymysql的第三方库按winR输入cmd打开终端输入命令pip install pymysql进行安装然后进行后续操作。安装完成后我们就可以用python与MySQL数据库进行基础的连接注意当前项目文件名不能出现pymysql否则会报错2.执行SQL语句在Python代码中写SQL语句时可以末尾可以不加分号但在可视化界面或MySQL环境中必须加分号a.执行非查询性质的SQL语句在Python中我们需要游标对象来执行SQL语句因此我们要先用连接对象来实例化游标对象并用连接对象选择目标数据库然后就可以在游标对象.execute( )中写SQL语句了且这里SQL语句一定要加引号。b.执行查询性质的SQL语句由于查询性质的SQL语句我们需要接收查询的结果所以写法略有不同。需要先用游标对象获取查询结果再用一个变量接收这个结果该结果是一个双层嵌套的元组。c.执行数据插入通过Python往MySQL数据库插入数据时需通过commit确认插入否则运行后数据库内数据也不会发生改变如不想手动进行插入可在连接对象中设置自动插入。输入连接对象.commit()确认数据插入。在连接对象conn中设置autocommit True实现自动提交后面所有的插入语句都无需手动确认。

相关新闻

最新新闻

桥梁市政工程安全生产动画要抓住哪些现场痛点

桥梁市政工程安全生产动画要抓住哪些现场痛点

安全文明生产的警示教育动画,用于桥梁、市政项目安全培训,不能只讲通用大道理,要贴合大桥建设高空、临水、预应力张拉等独有的作业风险,长沙尚格影视依托洞庭湖二大桥完整影像服务案例,积累了市政桥梁项目安全生产动画…

2026/8/26 19:31:47
《易学・剥䷖|道影子新解 023》

《易学・剥䷖|道影子新解 023》

摘要剥卦(䷖)承接贲卦 “文饰过度、浮华渐生” 的演化,揭示当阴长阳消、根基侵蚀、系统不断剥落时,便进入 “阴盛剥阳、顺势止退” 的剥落力场。其本质是山附于地、根基溃蚀,阴柔之力层层剥损阳刚正气,核心…

2026/8/26 19:31:47
7-Zip怎么添加到右键菜单

7-Zip怎么添加到右键菜单

7-Zip怎么添加到右键菜单 打开 7-Zip File Manager开始菜单输入【7-Zip File Manager】,打开点击顶部菜单栏的工具(T),在下拉列表中选择选项(O)在弹出的选项窗口中,切换至7-Zip标签页 取消勾选层叠右键菜单效果如图↑

2026/8/26 19:31:47
Python 爬虫请求库怎么选:Requests、HTTPX、aiohttp、curl_cffi、Scrapy 与 Playwright 对比

Python 爬虫请求库怎么选:Requests、HTTPX、aiohttp、curl_cffi、Scrapy 与 Playwright 对比

摘要:Python 里的“请求工具”并不在同一个层级。urllib.request、Requests、HTTPX、aiohttp 是 HTTP 客户端;urllib3 更接近连接池与重试基础设施;curl_cffi、pycurl 是 libcurl 绑定;Scrapy 是采集框架;Playwright 则…

2026/8/26 19:31:47
【CanMV K210】编程基础 文件系统与资源管理

【CanMV K210】编程基础 文件系统与资源管理

CanMV K210 不只是运行一段临时代码,开发板内部还有自己的文件系统。脚本、配置文件、图片资源和 kmodel 模型文件,都需要按照路径规则保存和读取。 很多 K210 实验失败,并不是代码逻辑错误,而是文件路径写错、模型文件缺失、main…

2026/8/26 19:31:47
HarmonyOS 7.0 / API 26 WindowStage 恢复顺序:窗口回来后为什么先算尺寸再拉数据

HarmonyOS 7.0 / API 26 WindowStage 恢复顺序:窗口回来后为什么先算尺寸再拉数据

HarmonyOS 7.0 / API 26 WindowStage 恢复顺序:窗口回来后为什么先算尺寸再拉数据 这篇只拆一个具体点:WindowStage 恢复顺序。版本边界先放前面:下面的写法面向 HarmonyOS 7.0 / API 26。工程里如果还在混用旧 SDK、旧模拟器镜像或旧设备系统…

2026/8/26 19:26:47