Python操作MySQL(十一)

python学习之旅(十一)
学习汇总入口【Python】学习汇总(3万字+思维导图)
文末附带全文概览思维导图
写作不易,如果您觉得写的不错,欢迎给博主来一波点赞、收藏~让博主更有动力吧!
🚩注:Python操作MySQL并不难,难点是如何编写合适的SQL语句,欢迎大家查看笔记:【MySQL】学习汇总(完整思维导图)

一.安装第三方库

在Python中,通过使用第三方库:pymysql,完成对MySQL数据库的操作。

  • 安装指令:
pip install pymysql

二.在Python中使用

(1) 基本使用

  • 导包-》建立连接-》进行xx操作-》关闭连接:
# 1.导入操作包
from pymysql import Connection

# 2.获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root'  # MySQL密码
)

# 打印MySQL版本信息
print(conn.get_server_info())

# 3.关闭到数据库的连接
conn.close()

(2) 执行建表SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root'  # MySQL密码
)

"""
执行非查询性质SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行建表sql语句
cursor.execute("CREATE TABLE tb_user(id INT,name VARCHAR(8),age int)")

# 关闭到数据库的连接
conn.close()

(3) 执行查询SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》获取查询数据,执行xx操作-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root'  # MySQL密码
)

"""
执行查询性质SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("SELECT * FROM tb_user")
# 获取查询结果,返回元组对象
results: tuple = cursor.fetchall()
for result in results:
    print(result)

# 关闭到数据库的连接
conn.close()

(4) 执行插入SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》提交行为-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root',  # MySQL密码
    autocommit=True  # 设置自动提交(commit)
)

"""
执行插入SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("Insert into tb_user values(1,'hhy','250')")
# 确认插入行为
# 如果在获取连接对象时设置自动提交可以不用再写。
conn.commit()

# 关闭到数据库的连接
conn.close()

(5) 执行修改SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》提交行为-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root',  # MySQL密码
    autocommit=True  # 设置自动提交(commit)
)

"""
执行修改SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("UPDATE tb_user set username='hhy' where username = 'fsp'")
# 确认修改行为
# 如果在获取连接对象时设置自动提交可以不用再写。
conn.commit()

# 关闭到数据库的连接
conn.close()

(6) 执行删除SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》提交行为-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root',  # MySQL密码
    autocommit=True  # 设置自动提交(commit)
)


"""
执行删除SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("DELETE from tb_user WHERE username = 'hhy'")
# 确认删除行为
# 如果在获取连接对象时设置自动提交可以不用再写。
conn.commit()

# 关闭到数据库的连接
conn.close()

(7) 小结

  • pymysql在执行数据插入其它产生数据更改的SQL语句时,默认是需要提交更改的,即,需要通过代码“确认”这种更改行为。

  • 如果不想手动commit确认,可以在构建连接对象的时候,设置自动commit的属性。

  • 查询后,使用游标对象.fetchall()可得到全部的查询结果封装入嵌套元组内

  • 可使用游标对象.execute()执行SQL语句

三.全文概览

在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python可以使用多种库来操作MySQL数据库,其中包括PyMySQLmysqlclient。PyMySQL是一个纯Python编写的库,安装非常简单,而mysqlclient是底层使用C编写的库,安装可能会有一些问题。\[3\]你可以根据自己的需求选择其中之一进行安装和使用。 在使用PyMySQL库时,你可以使用%s作为参数占位符来执行SQL操作,这与Python自带的sqlite3模块的占位符问号(?)有所不同。如果需要更详细的文档,你可以参考PyMySQL的官方文档。\[2\] 如果你想了解更多关于Python操作MySQL的知识,可以参考一些专门的章节或教程,这些资源会更详细地介绍如何使用Python来进行MySQL数据库操作。\[1\]希望这些信息对你有所帮助! #### 引用[.reference_title] - *1* [Python操作MySQL](https://blog.csdn.net/sanylove/article/details/124166373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [太全了——用Python操作MySQL的使用教程集锦](https://blog.csdn.net/m0_59485658/article/details/126364328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python操作MySql](https://blog.csdn.net/PAN_BING/article/details/120812542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

观止study

希望我的经验能为你指路

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值