Python连接mysql数据库的正确姿势

对于连接 MySQL 数据库,我们可以采用 Python 提供的三种方式:Python DB-API、MySQLdb、PyMySQL。

下面是详细步骤:

安装 MySQL

首选需要在本地电脑上安装 MySQL 数据库,建议在官网下载挺好 https://dev.mysql.com/downloads/mysql/。

安装 Python MySQL 驱动

Python 有几个访问 MySQL 的库,其中比较流行的有 MySQLdb 和 PyMySQL 。

安装 MySQLdb

MySQLdb 是 Python2 时代的库,不支持 Python3,使用 pip 安装可以这么写:

pip install mysql-python

安装 PyMySQL

PyMySQL 是纯 Python 实现 MySQL 协议的库,可以用在 Python2 和 Python3 之上,使用下面代码安装:

pip install pymysql

连接 MySQL

Python DB-API 规定了连接 MySQL 的一些标准,这里我们选择 PyMySQL 库连接 MySQL。

连接 MySQL 的步骤如下:

import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port=3306)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()

在以上代码中,我们使用 pymysql 库连接 MySQL 数据库,需要指定 MySQL 的主机名、用户名、密码、端口和要使用的数据库名称。

db = pymysql.connect() 函数用于连接 MySQL 数据库。如果连接成功,db 变量将保存连接对象。

使用 cursor() 方法创建一个游标对象 cursor,然后使用 execute() 函数执行 SQL 查询,最后使用 fetchone() 函数获取查询结果。

使用完 cursor 后,应该关闭数据库连接。以启用后续的数据库连接。

简单查询

在连接好 MySQL 并获取游标后,可以进行数据库查询操作。

import pymysql

db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port=3306)

# 查询表中所有的数据
cursor = db.cursor()
sql = "SELECT * FROM table_name"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    username = row[0]
    password = row[1]
    print(f"username:{username}, password:{password}")
db.close()

首先,我们打开数据库连接,然后创建一个游标对象。接着可以编写 SQL 语句并提交给数据库连接的游标对象,这里的 SQL 语句可以是任意的合法查询。使用 execute() 函数执行 SQL 查询。

对于查询数据,我们可以使用 fetchall() 方法获取查询结果集,然后在使用 for 循环对返回的数据数据进行遍历即可。

以上代码可以查询数据库中表 table_name 中所有的数据。

插入操作

插入操作非常简单,只需要构建合法的插入 SQL 语句,然后提交给游标对象即可。

import pymysql

db = pymysql.connect(host='localhost', user='root', password='password', database='database_name', port=3306)

# 插入数据
cursor = db.cursor()
sql = "INSERT INTO table_name(username, password) VALUES ('test', '123456')"
cursor.execute(sql)
# 提交到数据库执行
db.commit()
db.close()

在插入数据时,我们可以使用 VALUES 关键字指定待插入的数据。由于这里我们插入的是用户名和密码,所以在 SQL 语句中指定了 ('test', '123456')

使用 commit() 函数提交之前的操作,会将上述操作在数据库中执行。

至此,我们已经掌握了 Python 连接 MySQL 的正确姿势,并了解了部分进行数据库操作的示例。

希望对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python连接mysql数据库的正确姿势 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 分享MySQL生产库内存异常增高的排查过程

    下面是分享MySQL生产库内存异常增高的排查过程的完整攻略: 1. 确认异常 在排查MySQL生产库内存增高问题之前,首先需要确认是否真的存在异常。可以通过以下两种方式来确认: 1.1. 监控告警 可以通过监控系统来设置MySQL内存使用率告警阈值,当内存使用率超过阈值时会自动发出告警。如果收到了MySQL内存使用率告警,则表明MySQL内存使用异常。 1.…

    database 2023年5月21日
    00
  • 如何使用Python在MySQL中删除索引?

    要使用Python在MySQL中删除索引,可以使用Python的内置模块sqlite3或第三方库mysql-connector-python。以下是使用mysql-connector-python在MySQL中删除索引的完整攻略: 连接 要连接到MySQL,需要提供MySQL的主机、用户名、和密码。可以使用以下代码连接MySQL: mysql.connect…

    python 2023年5月12日
    00
  • redis基本安装判断、启动使用方法示例

    下面是关于Redis基本安装、判断、启动和使用的攻略: Redis基本安装 下载Redis官方源码文件(官网下载地址),解压到目标文件夹位置。 在解压目录中打开终端,使用以下命令执行编译:make 编译完成后,使用以下命令执行安装:make install Redis安装完成后,可以使用以下命令检查Redis是否安装成功:redis-server –ver…

    database 2023年5月22日
    00
  • RDBMS 和 Hive 的区别

    RDBMS(Relational Database Management System)和Hive都是用于存储和管理结构化数据的工具。但是,在它们之间有很多的不同点。 RDBMS和Hive的定义 RDBMS是指传统的关系型数据库,如MySQL、Oracle等,它们以表格的形式存储数据,并使用结构化查询语言(SQL)来处理数据。 Hive是一个基于Hadoop…

    database 2023年3月27日
    00
  • 解读SQL一些语句执行后出现异常不会回滚的问题

    在 SQL 中,一些语句执行后出现异常是非常常见的问题。特别是在大型应用程序中,由于 SQL 查询和更新是不可避免的,所以在这些场景中出现问题更为普遍。在处理 SQL 执行异常时,回滚操作是个非常核心的概念。它可以确保当一些未知的错误导致 SQL 执行失败时,系统能够恢复到操作前的状态。然而,在某些情况下,SQL 语句的异常不会触发回滚操作。在以下内容中,我…

    database 2023年5月22日
    00
  • MySQL笔记之Checkpoint机制

    CheckPoint是MySQL的WAL和Redolog的一个优化技术。   一、Checkpoint机制 CheckPoint做了什么事情?将缓存池中的脏页刷回磁盘。 checkpoint定期将db buffer的内容刷新到data file,当遇到内存不足、db buffer已满等情况时,需要将db buffer中的内容/部分内容(特别是脏数据)转储到d…

    2023年4月10日
    00
  • Mysql通过explain分析定位数据库性能问题

    当我们在使用Mysql数据库时,会遇到一些性能问题,例如查询速度慢等,这时就需要通过explain分析定位数据库性能问题。 下面是Mysql通过explain分析定位数据库性能问题的完整攻略: 1. 查看查询语句的执行计划 在查询语句前加上”explain”关键字,就可以查看该查询语句的执行计划。执行计划是Mysql优化器生成的一种树形结构,用于描述查询所需…

    database 2023年5月19日
    00
  • SQL中表锁定(LOCK、UNLOCK)的具体使用

    SQL中的表锁定可以通过LOCK和UNLOCK语句实现,这可以保证在操作表的过程中并发执行的安全性。 LOCK和UNLOCK语句简介 LOCK语句 LOCK语句可以锁定指定的表,包括读锁和写锁(也称共享锁和排它锁)。 根据应用场景不同,可以使用以下两种方式: LOCK TABLE tablename READ:对指定表加读锁,可以允许其他事务通过SELECT…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部