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日

相关文章

  • springboot 如何使用jedis连接Redis数据库

    好的。使用SpringBoot连接Redis数据库,需要以下步骤: 安装Redis 首先需要在本地或服务器上安装Redis。可以到Redis官网下载对应的安装包,也可以通过包管理软件(如yum、apt-get等)进行安装。在Windows系统上,可以下载Redis的msi安装包并进行安装。 引入依赖 在使用SpringBoot连接Redis数据库时,需要引入…

    database 2023年5月21日
    00
  • PostgreSQL 和 MongoDB 的区别

    PostgreSQL和MongoDB是两种不同类型的数据库管理系统。PostgreSQL是一种关系型数据库管理系统(RDBMS),MongoDB是一种文档导向数据库管理系统(NoSQL)。 数据库结构 PostgreSQL是一种关系型数据库,数据存储在表中,包括多个表,可以通过表关系互相连接。每个表可以包含多个列(字段),每个列可以包含不同类型的数据。 Mo…

    database 2023年3月27日
    00
  • MySQL性能优化是什么,如何定位效率低下的SQL?

    MySQL性能优化是通过调整数据库的配置参数、SQL语句的优化以及硬件部署的优化等多方面综合提高MySQL数据库的性能,从而更好地支持应用程序的工作。MySQL性能的优化包含了很多方面,下面将从定位效率低下的SQL入手,深入探讨如何实现MySQL性能优化。 定位效率低下的SQL 使用explain命令分析SQL语句的执行计划 explain命令是MySQL自…

    MySQL 2023年3月10日
    00
  • CouchDB 和 MongoDB 的区别

    CouchDB和MongoDB是两种常见的NoSQL数据库,在功能、性能、架构等方面有一些不同。下面是CouchDB和MongoDB的详细对比: 功能 数据模型:CouchDB采用了文档导向的数据模型,MongoDB采用了类似于BSON(Binary JSON)的数据模型。文档型数据库的数据结构更加灵活,而BSON的数据结构更加紧凑。 数据查询:CouchD…

    database 2023年3月27日
    00
  • 深入了解mysql长事务

    深入了解 MySQL 长事务的攻略 在 MySQL 中,长事务是指执行时间超过一定阈值(一般是几秒钟)的事务,长事务会导致锁定资源,降低系统的吞吐量,甚至还会导致性能问题、死锁等。 深入了解 MySQL 长事务,有助于我们排查生产环境中出现的性能问题、死锁等问题,下面是详细的攻略: 了解长事务在 MySQL 中的表现 MySQL 在 InnoDB 存储引擎中…

    database 2023年5月22日
    00
  • 【python 3.6】python读取json数据存入MySQL(一)

        整体思路: 1,读取json文件 2,将数据格式化为dict,取出key,创建数据库表头 3,取出dict的value,组装成sql语句,循环执行 4,执行SQL语句   #python 3.6 # -*- coding:utf-8 -*- __author__ = ‘BH8ANK’ import json import pymysql conn =…

    MySQL 2023年4月13日
    00
  • Python中使用Flask、MongoDB搭建简易图片服务器

    以下是使用Flask及MongoDB搭建简易图片服务器的完整攻略: 环境准备 在开始之前,需要首先安装好Python、Flask和MongoDB。其中,Python的版本要在3.6以上,Flask和MongoDB可以使用pip进行安装。 创建Flask应用 首先,在Python中新建一个Flask应用,通过以下代码实现: from flask import …

    database 2023年5月22日
    00
  • SSM如何实现在Controller中添加事务管理

    在 SSM 框架中使用事务管理可以保证多个操作的原子性,保证在执行过程中任何一个 SQL 语句执行异常都能够回滚到事务开始前的状态。在 SSM 框架中添加事务管理可以通过注解的方式实现。以下是实现步骤: 1. 配置 Spring 的事务管理器 在 Spring 配置文件中,需要配置事务管理器,如下所示: <!– 配置事务管理器 –> <…

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