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

Python基础(二十九、pymsql)

文章目录

  • 一、安装pymysql库
  • 二、代码实践
    • 1.连接MySQL数据库
    • 2.创建表格
    • 3.插入数据
    • 4.查询数据
    • 5.更新数据
    • 6.删除数据
  • 三、完整代码示例
  • 四、结论

使用Python的pymysql库可以实现数据存储,这是一种连接MySQL数据库的方式。在本篇文章中,将详细介绍如何使用pymysql库连接MySQL数据库、创建表格、插入数据以及查询数据等操作。
准备工作,本地要安装好mysql数据库,可通过官方网站下载 Mysql数据库

一、安装pymysql库

使用Python的pymysql库需要先安装该库。可以通过pip安装:

pip install pymysql

在这里插入图片描述

二、代码实践

1.连接MySQL数据库

连接到MySQL数据库之前,需要知道MySQL服务器的相关信息,例如服务器地址、用户名、密码和数据库名称等。这些信息可以根据具体情况进行修改。

使用以下代码连接到MySQL数据库:

import pymysql# 建立连接
conn = pymysql.connect(host='localhost', user='root', password='password', database='test_db')# 创建游标对象
cursor = conn.cursor()# 关闭连接
conn.close()

上述代码中,我们使用connect()方法创建一个连接对象,该方法需要传递MySQL服务器的相关信息,例如服务器地址、用户名、密码和数据库名称等。成功建立连接后,我们可以使用cursor()方法创建一个游标对象。最后,我们使用close()方法关闭连接。

2.创建表格

连接到MySQL数据库后,可以使用以下代码创建一个表格:

# 创建表格
create_table_query = """CREATE TABLE users (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL,age INT(11) NOT NULL,PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"""cursor.execute(create_table_query)

上述代码中,我们使用SQL语句创建了名为“users”的表格,并定义了三个字段:id、name和age。同时,我们还为id字段添加了主键约束。最后,我们使用execute()方法执行SQL语句。

3.插入数据

创建表格后,可以使用以下代码向表格中插入数据:

# 插入数据
insert_query = """INSERT INTO users (name, age) VALUES ('Tom', 25)"""
cursor.execute(insert_query)

上述代码中,我们使用SQL语句向“users”表格中插入了一行数据,其中name字段为“Tom”,age字段为25。最后,我们使用execute()方法执行SQL语句。

4.查询数据

可以使用以下代码查询表格中的数据:

# 查询数据
select_query = "SELECT * FROM users"
cursor.execute(select_query)
results = cursor.fetchall()for row in results:id = row[0]name = row[1]age = row[2]print("id=%d,name=%s,age=%d" % (id, name, age))

上述代码中,我们使用SQL语句查询“users”表格中的所有数据,并使用fetchall()方法获取结果集。最后,我们遍历结果集并输出每一行数据。

5.更新数据

可以使用以下代码更新表格中的数据:

# 更新数据
update_query = "UPDATE users SET age=26 WHERE name='Tom'"
cursor.execute(update_query)
conn.commit()

上述代码中,我们使用SQL语句更新“users”表格中名为“Tom”的行的age字段为26。最后,我们使用commit()方法提交更改。

6.删除数据

可以使用以下代码从表格中删除数据:

# 删除数据
delete_query = "DELETE FROM users WHERE name='Tom'"
cursor.execute(delete_query)
conn.commit()

上述代码中,我们使用SQL语句从“users”表格中删除名为“Tom”的行。最后,我们使用commit()方法提交更改。

三、完整代码示例

下面是完整的Python代码示例:

import pymysql# 建立连接
conn = pymysql.connect(host='localhost', user='root', password='password', database='test_db')# 创建游标对象
cursor = conn.cursor()# 创建表格
create_table_query = """CREATE TABLE users (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL,age INT(11) NOT NULL,PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"""cursor.execute(create_table_query)# 插入数据
insert_query = """INSERT INTO users (name, age) VALUES ('Tom', 25)"""
cursor.execute(insert_query)# 查询数据
select_query = "SELECT * FROM users"
cursor.execute(select_query)
results = cursor.fetchall()for row in results:id = row[0]name = row[1]age = row[2]print("id=%d,name=%s,age=%d" % (id, name, age))# 更新数据
update_query = "UPDATE users SET age=26 WHERE name='Tom'"
cursor.execute(update_query)
conn.commit()# 删除数据
delete_query = "DELETE FROM users WHERE name='Tom'"
cursor.execute(delete_query)
conn.commit()# 关闭连接
conn.close()

在上述代码中,我们使用pymysql库连接到MySQL数据库,创建名为“users”的表格,并向表格中插入了一行数据。最后,我们使用SQL语句查询、更新和删除了表格中的数据。最后,我们使用commit()方法提交更改,然后关闭连接。

四、结论

当使用Python的pymysql库进行MySQL数据库操作时,以下是一些重要的注意事项和步骤:

  1. 安装pymysql库:使用pip命令安装pymysql库,以便在Python中使用该库。
  2. 连接到MySQL数据库:使用pymysql库的connect()方法连接到MySQL数据库,并创建一个连接对象。
  3. 创建游标对象:使用连接对象的cursor()方法创建一个游标对象,用于执行SQL语句。
  4. 创建表格:使用SQL语句创建一个表格,并定义字段、主键等约束。
  5. 插入数据:使用SQL语句向表格中插入数据。
  6. 查询数据:使用SQL语句查询表格中的数据,并使用游标对象的fetchall()方法获取结果集。
  7. 更新数据:使用SQL语句更新表格中的数据,并使用连接对象的commit()方法提交更改。
  8. 删除数据:使用SQL语句从表格中删除数据,并使用连接对象的commit()方法提交更改。
  9. 关闭连接:使用连接对象的close()方法关闭与MySQL数据库的连接。

这些是使用pymysql库进行MySQL数据库操作的关键步骤。

相关文章:

  • 如何快速搭建个人博客
  • c++线程thread示例
  • qt5-入门
  • UE4 CustomDepthMobile流程小记
  • 业务逐字稿
  • 在探最大模定理
  • TR-069/TR-369设备管理
  • vue3 el-pagination 将组件中英文‘goto’ 修改 为 中文到‘第几’
  • Google Chrome 中出现 ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误
  • yolov5 deepsort 行人/车辆(检测 +计数+跟踪+测距+测速)
  • 在数字化营销的大背景下,企业微信营销的挑战与应对策略
  • 【C++】wxWidgets编程的程序入口点
  • 桥接模式解析
  • 【vue】vue.config.js里面获取本机ip:
  • QML语法 | 导入语句(import)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 07.Android之多媒体问题
  • Apache Spark Streaming 使用实例
  • Computed property XXX was assigned to but it has no setter
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • js中的正则表达式入门
  • Linux链接文件
  • mongodb--安装和初步使用教程
  • Mysql优化
  • react-native 安卓真机环境搭建
  • Theano - 导数
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 简单基于spring的redis配置(单机和集群模式)
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 目录与文件属性:编写ls
  • 入手阿里云新服务器的部署NODE
  • 时间复杂度与空间复杂度分析
  • 详解移动APP与web APP的区别
  • 由插件封装引出的一丢丢思考
  • 走向全栈之MongoDB的使用
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​ArcGIS Pro 如何批量删除字段
  • #define,static,const,三种常量的区别
  • #HarmonyOS:Web组件的使用
  • $forceUpdate()函数
  • (06)Hive——正则表达式
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (笔记)M1使用hombrew安装qemu
  • (分布式缓存)Redis持久化
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三) diretfbrc详解
  • (十六)一篇文章学会Java的常用API
  • (五)Python 垃圾回收机制
  • (一)u-boot-nand.bin的下载