Python操作MySQL(十一)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: Python操作MySQL(十一)

操作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语句
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 关系型数据库 MySQL
MySQL操作利器——mysql-connector-python库详解
MySQL操作利器——mysql-connector-python库详解
2544 0
|
11月前
|
SQL 关系型数据库 MySQL
Python中使用MySQL模糊查询的方法
本文介绍了两种使用Python进行MySQL模糊查询的方法:一是使用`pymysql`库,二是使用`mysql-connector-python`库。通过这两种方法,可以连接MySQL数据库并执行模糊查询。具体步骤包括安装库、配置数据库连接参数、编写SQL查询语句以及处理查询结果。文中详细展示了代码示例,并提供了注意事项,如替换数据库连接信息、正确使用通配符和关闭数据库连接等。确保在实际应用中注意SQL注入风险,使用参数化查询以保障安全性。
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
1190 15
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
218 1
|
SQL 关系型数据库 MySQL
30天拿下Python之使用MySQL
30天拿下Python之使用MySQL
176 0
|
关系型数据库 MySQL 数据管理
pymysql:Python操作MySQL数据库的又一利器
pymysql:Python操作MySQL数据库的又一利器
186 0
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
655 0
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
184 3
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
883 152

推荐镜像

更多