当前位置: 首页 > news >正文

12.爬虫---PyMysql安装与使用

12.PyMysql安装与使用

    • 1.安装 PyMySQL
    • 2.使用PyMySQL
      • 2.1创建数据表
      • 2.2连接数据库
      • 2.3增加数据
      • 2.4修改数据
      • 2.5查询数据
      • 2.6删除数据
      • 2.7关闭连接
    • 3.总结

MySQL 安装可以看这篇文章MySql 安装与使用(非常详细)

1.安装 PyMySQL

PyMySQL是Python中用于连接MySQL数据库的库,安装起来非常简单。通常情况下,只需要在命令行中执行以下命令即可:

pip install pymysql

如果你使用的是Python 3,可能需要使用pip3来安装:

pip3 install pymysql

此外,还可以通过PyCharm的设置界面来进行安装:

  • 打开PyCharm的设置界面(File -> Settings -> Project Interpreter)。
  • 点击右上角的加号,搜索框内输入“pymysql”。
  • 选择需要的版本,点击Install按钮进行安装。

在这里插入图片描述

2.使用PyMySQL

连接MySQL数据库时,你需要提供数据库的主机名、端口、用户名、密码、数据库名称等信息。这些信息可以放在一个字典中,然后传递给pymysql.connect()函数。例如:

2.1创建数据表

/*Navicat Premium Data TransferSource Server         : localhostSource Server Type    : MySQLSource Server Version : 80020Source Host           : localhost:3306Source Schema         : dddTarget Server Type    : MySQLTarget Server Version : 80020File Encoding         : 65001Date: 18/06/2024 09:53:21
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for t_role
-- ----------------------------
DROP TABLE IF EXISTS `t_role`;
CREATE TABLE `t_role`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名称',`code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色code',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',`deleted` bigint NOT NULL DEFAULT 0 COMMENT '是否已删除',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;

2.2连接数据库

import pymysqlconfig = {'host': 'localhost','port': 3306,'user': 'username','password': 'password','database': 'database_name'
}connection = pymysql.connect(**config)

执行结果:

<pymysql.connections.Connection object at 0x00000175D87BA860>

2.3增加数据

向数据库中插入数据,需要先准备好SQL语句和插入值,然后使用游标的execute()方法执行插入操作。最后,别忘了调用commit()方法来提交事务。

# 添加
cursor = connection.cursor()
sql = "INSERT INTO t_role (name, code) VALUES (%s, %s)"
values = ("普通用户1", "user")
cursor.execute(sql, values)
connection.commit()
cursor.close()

执行结果:

在这里插入图片描述

2.4修改数据

修改数据同样需要先准备SQL语句和可能的参数,然后执行execute()方法,并通过commit()方法提交事务。

# 修改
cursor = connection.cursor()
sql = "UPDATE t_role SET code = 'Python' WHERE id = 6"
cursor.execute(sql)
connection.commit()
cursor.close()

执行结果:
在这里插入图片描述

2.5查询数据

使用游标(Cursor)对象来执行SQL查询。游标对象可以通过连接对象的cursor()方法获得。执行查询后,可以使用fetchall()或fetchone()方法来获取查询结果。

cursor = connection.cursor()
cursor.execute("SELECT * FROM table")
results = cursor.fetchall()
for row in results:print(row)
cursor.close()

执行结果:

(1, '超级管理员', 'Python', datetime.datetime(2021, 9, 10, 19, 27, 55), datetime.datetime(2024, 6, 18, 9, 18, 19), 0)
(2, '管理员', 'admin', datetime.datetime(2021, 9, 10, 19, 27, 55), datetime.datetime(2021, 9, 10, 19, 27, 55), 0)
(6, '普通用户1', 'Python', datetime.datetime(2024, 6, 18, 9, 36, 23), datetime.datetime(2024, 6, 18, 9, 38, 38), 0)

2.6删除数据

删除数据同样需要先准备SQL语句和可能的参数,然后执行execute()方法,并通过commit()方法提交事务。

cursor = connection.cursor()
sql = "DELETE FROM t_role WHERE id = 6"
cursor.execute(sql)
connection.commit()
cursor.close()

执行结果:
在这里插入图片描述

2.7关闭连接

在完成所有数据库操作后,应该关闭游标和连接,释放资源。可以使用close()方法来关闭游标和连接。

cursor.close()
connection.close()

3.总结

PyMySQL是一个功能强大且易于使用的库,它简化了Python与MySQL之间的交互。无论是进行简单的查询,还是复杂的CRUD操作,PyMySQL都能提供清晰、简洁的接口。此外,由于它是纯Python编写的,因此安装和使用都非常简单。如果你需要在Python项目中与MySQL数据库进行交互,PyMySQL无疑是一个很好的选择。

相关文章:

12.爬虫---PyMysql安装与使用

12.PyMysql安装与使用 1.安装 PyMySQL2.使用PyMySQL2.1创建数据表2.2连接数据库2.3增加数据2.4修改数据2.5查询数据2.6删除数据2.7关闭连接 3.总结 MySQL 安装可以看这篇文章MySql 安装与使用&#xff08;非常详细&#xff09; 1.安装 PyMySQL PyMySQL是Python中用于连接MySQL…...

VS2022遇到的两个问题

问题一&#xff1a;找不到定义的头文件 别的博主说是&#xff1a;在属性页里面进行改写&#xff0c;改成是&#xff0c;我试过之后并不行&#xff1b; 解决思路&#xff1a;但其实在右边视图里面找到你自己定义的头文件加到你运行文件中就行&#xff1b;因为程序就只有一个入口…...

【Android14 ShellTransitions】(六)SyncGroup完成

这一节的内容在WMCore中&#xff0c;回想我们的场景&#xff0c;是在Launcher启动某一个App&#xff0c;那么参与动画的就是该App对应Task&#xff08;OPEN&#xff09;&#xff0c;以及Launcher App对应的Task&#xff08;TO_BACK&#xff09;。在确定了动画的参与者后&#x…...

技术管理转型之战:决策之道-管理中的智慧与策略

文章目录 引言一、决策的重要性二、常见的决策方式1. 理性决策&#xff08;Rational Decision Making&#xff09;2. 有限理性&#xff08;Bounded Rationality&#xff09;3. 直觉决策&#xff08;Intuitive Decision Making&#xff09;4. 循证管理&#xff08;Evidence-Base…...

Shell脚本:条件语句(if、case)

目录 硬编码 硬编码的缺点 条件判断 $? 命令行语句 判断指定目录是否存在 判断指定文件是否存在 判断指定对象是否存在 表达式形式语句 判断对象是否存在 判断对象是否有权限 与、或、非 运算 与运算 或运算 非运算 比较大小 判断磁盘利用率实验步骤 字符串…...

在Linux上为Windows目标配置Qt交叉编译

问题描述 我想使用Linux x86_64主机为Windows x86_64目标交叉编译Qt库&#xff08;最终也包括我的应用程序&#xff09;。我觉得自己已经接近成功了&#xff0c;但可能对整个过程有一些基本的误解。 我从在我的Fedora机器上安装所有mingw包开始&#xff0c;并修改了win32-g的…...

Introduction to linear optimization 第 2 章课后题答案 11-15

线性规划导论 Introduction to linear optimization (Dimitris Bertsimas and John N. Tsitsiklis, Athena Scientific, 1997)&#xff0c; 这本书的课后题答案我整理成了一个 Jupyter book&#xff0c;发布在网址&#xff1a; https://robinchen121.github.io/manual-introdu…...

Java——包

一、包 1、简要介绍 在Java编程语言中&#xff0c;包&#xff08;Package&#xff09; 是一种用来组织和管理类&#xff08;Class&#xff09;和接口&#xff08;Interface&#xff09;的机制。包为开发者提供了一种逻辑分组的方式&#xff0c;使代码更加模块化、结构化和易于…...

Pipeline知识小记

在scikit-learn&#xff08;通常缩写为sklearn&#xff09;中&#xff0c;Pipeline是一个非常重要的工具&#xff0c;它允许你将多个数据转换步骤&#xff08;如特征选择、缩放等&#xff09;和估计器&#xff08;如分类器、回归器等&#xff09;组合成一个单一的估计器对象。这…...

postman国内外竞争者及使用详解分析

一、postman简介 Postman 是一款广泛使用的 API 开发和测试工具&#xff0c;适用于开发人员和测试人员。它提供了一个直观的界面&#xff0c;用于发送 HTTP 请求、查看响应、创建和管理 API 测试用例&#xff0c;以及自动化 API 测试工作流程。以下是 Postman 的主要功能和特点…...

人工智能对决:ChatGLM与ChatGPT,探索发展历程

图: a robot is writing code on a horse, By 禅与计算机程序设计艺术 目录 ChatGLM:...

探索Python元类的奥秘及其应用场景

探索Python元类的奥秘及其应用场景 一、引言 在Python中&#xff0c;元类&#xff08;Metaclasses&#xff09;是一个相对高级且容易被忽视的主题。然而&#xff0c;对于深入理解Python的面向对象编程模型以及进行高级框架和库的设计来说&#xff0c;元类是一个不可或缺的工具…...

C语言基础关键字的含义和使用方法

​关键字在C语言中扮演着非常重要的角色&#xff0c;它们定义了语言的基本构造和语法规则&#xff0c;通过使用关键字&#xff0c;开发者可以创建变量、定义数据类型、控制程序流程&#xff08;如循环和条件判断&#xff09;、声明函数等。由于这些字是保留的&#xff0c;所以编…...

【Golang - 90天从新手到大师】Day09 - string

系列文章合集 Golang - 90天从新手到大师 String 一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据&#xff0c;但是通常是用来包含人类可读的文本。 len()返回字符串字节数目&#xff08;不是rune数&#xff09;。 通过索引可以访问某个字节值&#xff0c;0…...

网络安全与区块链技术:信任与安全的融合

# 网络安全与区块链技术&#xff1a;信任与安全的融合 在网络空间&#xff0c;信任是一种宝贵而稀缺的资源。区块链技术以其独特的分布式账本、加密算法和共识机制&#xff0c;为构建网络安全提供了新的解决方案。本文将探讨网络安全与区块链技术如何融合&#xff0c;以增强信…...

MySQL之复制(九)

复制 复制管理和维护 确定主备是否一致 在理想情况下&#xff0c;备库和主库的数据应该是完全一样的。但事实上备库可能发生错误并导致数据不一致。即使没有明显的错误&#xff0c;备库同样可能因为MySQL自身的特性导致数据不一致&#xff0c;例如MySQL的Bug、网络中断、服务…...

【面试干货】 Java 中的 HashSet 底层实现

【面试干货】 Java 中的 HashSet 底层实现 1、HashSet 的底层实现2、 HashSet 的特点3、 总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; HashSet 是 Java 集合框架中的一个重要成员&#xff0c;它提供了不存储重复元素的集合。但是&am…...

爬虫经典案例之爬取豆瓣电影Top250(方法二)

在上一篇文章的基础上&#xff0c;改进了代码质量&#xff0c;增加了多个正则表达式匹配&#xff0c;但同事也增加了程序执行的耗时。 from bs4 import BeautifulSoup import requests import time import re from random import randint import pandas as pdurl_list [https…...

如何优化React应用的性能?

优化React应用的性能是一个多方面的过程&#xff0c;涉及到代码的编写、组件的设计、资源的管理等多个层面。以下是一些常见的性能优化策略&#xff1a; 避免不必要的渲染: 使用React.memo、useMemo和useCallback来避免组件或其子组件不必要的重新渲染。 代码分割: 使用React.…...

css文字镂空加描边

css文字镂空加描边 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>文字镂空</title><style>/* 公用样式 */html,body{width: 100%;height: 100%;position: relative;}/* html{overflow-y: scroll;} */*{margi…...

如何高效解决网页视频下载难题:VideoDownloadHelper智能解析工具全解析

如何高效解决网页视频下载难题&#xff1a;VideoDownloadHelper智能解析工具全解析 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 在数字化内…...

厦门选117E还是120E?手把手教你为你的城市选择正确的高斯克吕格投影坐标系

厦门GIS项目实战&#xff1a;如何精准选择高斯克吕格投影坐标系 第一次在ArcGIS里看到上百个坐标系选项时&#xff0c;我的鼠标指针在列表上方徘徊了整整十五分钟——就像站在自动售货机前不知道按哪个按钮的新手。特别是当项目 deadline 临近&#xff0c;而厦门市规划局的Shap…...

避坑指南:在K210上跑人脸68关键点,这些细节让你的疲劳检测更准

K210人脸疲劳检测实战&#xff1a;68关键点调优与工程化避坑指南 当你在车载监控或工业安全场景部署基于K210的疲劳检测系统时&#xff0c;是否遇到过这些情况&#xff1f;明明按照开源代码跑通了68关键点检测&#xff0c;但实际场景中闭眼判断总是不准&#xff1b;白天阳光直射…...

DeepSeek-V3.2量化新标杆:w8a8精度突破86%!

DeepSeek-V3.2量化新标杆&#xff1a;w8a8精度突破86%&#xff01; 【免费下载链接】DeepSeek-V3.2-w8a8-mtp-QuaRot 项目地址: https://ai.gitcode.com/Eco-Tech/DeepSeek-V3.2-w8a8-mtp-QuaRot 导语&#xff1a;DeepSeek-V3.2推出w8a8量化版本&#xff0c;采用创新Qu…...

马西奎《电磁场与电磁波》学习记录-第 2 章学前准备-坐标系的深入 + 微分元(dl、dS、dV)

一、正交坐标系的一般概念1. 什么是正交曲线坐标系三组坐标面互相垂直正交单位矢量处处正交&#xff1a;​⊥​⊥​直角、圆柱、球坐标都属于这一类。2. 坐标变量与拉梅系数&#xff08;度量系数&#xff09;对一般正交曲线坐标 (,​,​)&#xff1a;坐标面&#xff1a;​常数、…...

全能型 AI论文工具排行榜(2026 最新实测)

基于功能全面性、学术适配性、用户反馈质量以及操作便捷性&#xff0c;本文对当前主流AI论文写作工具进行了系统测评&#xff0c;按综合使用价值从高到低进行排序&#xff0c;并详细解析各工具的核心优势与适用领域。&#x1f3c6; 第一梯队&#xff1a;全流程学术解决方案&…...

Wan2.2-I2V-A14B镜像效果展示:夕阳海滩10秒1080P高清视频生成作品集

Wan2.2-I2V-A14B镜像效果展示&#xff1a;夕阳海滩10秒1080P高清视频生成作品集 1. 惊艳的视频生成效果 想象一下&#xff0c;只需简单描述&#xff0c;就能让电脑自动生成一段夕阳下的海滩视频。Wan2.2-I2V-A14B镜像让这个想象成为现实&#xff0c;它能将文字描述转化为高清…...

ofa_image-caption算力适配:A10G云GPU上稳定运行的最小配置方案

ofa_image-caption算力适配&#xff1a;A10G云GPU上稳定运行的最小配置方案 1. 引言 如果你正在寻找一个能自动为图片生成英文描述的本地工具&#xff0c;并且希望它能在消费级显卡上流畅运行&#xff0c;那么基于OFA模型的图像描述生成工具很可能就是你的答案。这个工具最大…...

zh3100组合式选粉机的设计【说明书+27张CAD图纸】

zh3100组合式选粉机作为粉体分级领域的核心设备&#xff0c;其设计融合了流体力学、机械传动与颗粒分离理论&#xff0c;通过优化结构参数与气固两相流场分布&#xff0c;实现高精度、低能耗的粉体分级作业。该设备采用模块化组合设计理念&#xff0c;将选粉室、导流装置、分级…...

手把手教你用Python处理脑电信号:从MRCP到SMR的实战指南

手把手教你用Python处理脑电信号&#xff1a;从MRCP到SMR的实战指南 脑电信号处理一直是神经科学和脑机接口领域的热门研究方向。对于开发者而言&#xff0c;掌握Python处理脑电信号的技能不仅能提升科研效率&#xff0c;还能为医疗辅助设备开发打下坚实基础。本文将带你从零开…...