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数据表分区策略及优缺点分析 什么是MySQL数据表分区? MySQL数据表分区是将表数据分为更小的块,以提高查询效率和管理表数据的能力。分区可以根据表的某个字段自动或手动进行,例如按照日期或地理属性来进行数据分区。 MySQL数据表分区使用场景 数据表数据量巨大,过多的数据可能导致查询速度变慢、备份难以进行等问题; 实现分布式数据库管理; 数据库实…

    database 2023年5月19日
    00
  • Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误

    在MySQL中,数据库名称、表名和列名默认是不区分大小写的,这意味着在创建表之后,您可以使用大写或小写字母任意组合引用相同的表名或列名,MySQL会自动识别并引用相应的对象。但是,在某些情况下,您可能会遇到MySQL错误代码1146,指示指定的表不存在,其中一个常见的原因是大小写问题。 下面是调试此问题的完整攻略: 验证表名是否正确 首先,请确保您正在正确拼…

    database 2023年5月18日
    00
  • 使用docker创建和运行跨平台的容器化mssql数据库

    以下是使用docker创建和运行跨平台的容器化mssql数据库的攻略: 确定需求 首先确定你的需求,如数据库的版本、端口号、镜像名称等。例如,我们需要运行Microsoft SQL Server Express 2019版本的数据库,端口号为1433,镜像名称为mcr.microsoft.com/mssql/server:2019-latest. 安装和配置…

    database 2023年5月22日
    00
  • 五种提高 SQL 性能的方法

    当我们需要处理大量数据时,SQL查询的性能是非常重要的。以下是五种提高SQL性能的方法: 1. 使用索引 索引是一种数据结构,它将数据库表中的数据列与相应的索引值进行关联。当我们查询数据时,使用索引可以极大地提高查询速度。索引可以根据列的值,对数据进行排序、过滤和查找。 我们可以使用以下SQL语句来创建索引: CREATE INDEX index_name …

    database 2023年5月19日
    00
  • Redis 和 MS SQL Server 的区别

    Redis 和 MS SQL Server 都是不同类型的数据存储技术,两者的使用场景和优劣势不同。 Redis 简介 Redis是一种开源的高速缓存和内存型数据库,它可以处理不同数据类型,如列表、字符串、哈希集合等,还允许执行复杂的服务器端脚本。Redis数据存储在内存中,但也可以定期或在写入时持久性到磁盘。Redis具有极其高效的访问速度,这得益于它所有…

    database 2023年3月27日
    00
  • SQL Server成功与服务器建立连接但是在登录过程中发生错误的快速解决方案

    当使用SQL Server登录时,可能会出现登录过程中发生错误的问题,这种情况可能是服务器上的 SQL Server 实例无法正常启动或运行,也可能是本地计算机上的网络连接问题。下面是一些可能使 SQL Server 登录过程出错的原因以及相应的解决方案。 原因分析 原因1:SQL Server 实例无法正常启动或运行 当 SQL Server 实例未能成功…

    database 2023年5月21日
    00
  • 详谈MySQL和MariaDB区别与性能全面对比

    详谈 MySQL 和 MariaDB 区别与性能全面对比 介绍 MySQL 和 MariaDB 都是开源的关系型数据库管理系统(RDBMS),都具有高性能、可扩展性、可靠性等优点。然而,它们之间还有一些区别,本文将介绍它们的区别并进行性能对比。 区别 以下是 MySQL 和 MariaDB 之间的主要区别: 开发者不同:MySQL 由 Oracle 公司开发…

    database 2023年5月22日
    00
  • mysql select语句操作实例

    下面是完整的MySQL SELECT语句操作攻略说明。 1. 基本语法格式 SELECT语句是MySQL中最常用的查询语句,通过它我们可以从一张或多张数据表中获取数据。其基本语法格式如下: SELECT column1, column2, … FROM table_name WHERE condition; 其中,column1, column2 等是我…

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