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

yizhihongxing

对于连接 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日

相关文章

  • sql语句优化之SQL Server(详细整理)

    下面我将详细讲解SQL语句优化之SQL Server攻略: 1. 优化查询的SELECT语句 1.1 确保查询只返回需要的列 查询语句中必须只获取需要的列,而不是所有的列。我们可以使用SELECT语句中的字段列表来指定需要返回的列,而不是使用”*”来返回表中的所有列。这样可以减少查询中传输的数据量,从而提高查询速度。 示例: — 错误: SELECT * …

    database 2023年5月19日
    00
  • mac系统下Redis安装和使用步骤详解

    Mac系统下Redis安装和使用步骤详解 安装Redis 安装Homebrew: Homebrew是一个Mac上的包管理器,可以方便地安装很多开源软件包。在终端中执行以下命令安装Homebrew: /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…

    database 2023年5月22日
    00
  • Mybatis中Mapper映射文件使用详解

    Mybatis中Mapper映射文件是一种非常重要的配置文件,它用于描述Java对象和SQL语句之间的映射关系。在这里,我将为大家提供一份“Mybatis中Mapper映射文件使用详解”的完整攻略。 Mapper映射文件的基本结构 在Mybatis中,Mapper映射文件通常使用XML格式进行编写,它由三个主要部分组成:namespace、parameter…

    database 2023年5月21日
    00
  • Oracle 中文字段进行排序的sql语句

    当使用Oracle数据库进行排序时,如果涉及中文字段,需要使用一些特殊的处理方法,以下是详细的“Oracle 中文字段进行排序的 SQL 语句”攻略: 步骤一:安装NLS_LANG字符集 首先,为了能够正确排序中文字符,需要安装相应的本地字符集(NLS_LANG)。可以通过oracle官方的安装包来进行安装,或者通过oracle的管理控制台来安装。 步骤二:…

    database 2023年5月21日
    00
  • 分享几道关于MySQL索引的重点面试题

    关于MySQL索引的重点面试题攻略,我将从以下几个方面着手讲解: MySQL索引的概念及作用 MySQL常用的索引类型 MySQL索引的优化策略 MySQL索引的使用注意事项 接下来,我将分述每一个方面。 1. MySQL索引的概念及作用 MySQL索引是在MySQL数据库上创建的一种数据结构,其主要作用是提高查询效率。如果没有索引,MySQL查询时会全表扫…

    database 2023年5月21日
    00
  • 一文搞懂SQL注入攻击

    一文搞懂SQL注入攻击 什么是SQL注入攻击? SQL(Structured Query Language)是用于管理关系数据库管理系统的语言。SQL注入攻击是指黑客通过构造恶意的SQL语句,使得应用程序在对用户输入数据的处理过程中,将不可信的数据作为SQL查询语言的一部分,从而使应用程序的数据库受到攻击的一种攻击方法。 攻击者在不需要任何身份验证的情况下即…

    database 2023年5月21日
    00
  • MySQL函数大全及用法示例分享

    MySQL函数大全及用法示例分享 一、前言 MySQL函数是MySQL数据库的一种重要的组成部分,可以在查询和操作数据时使用。 它们是在数据值上进行操作的代码片段,可以用于从数据库中检索和处理数据。MySQL函数可以是内置函数,也可以是用户定义的函数。 借助MySQL函数,您可以将数据进行格式化、转换、聚合或者执行数学计算、日期计算等操作。 本攻略将详细讲解…

    database 2023年5月22日
    00
  • 设置SQLServer数据库中某些表为只读的多种方法分享

    设置 SQL Server 数据库中某些表为只读可以通过多种方法实现,主要分为以下2种方法: 方法1:使用 T-SQL 语句 在 SQL Server 数据库中,我们可以通过 T-SQL 语句来设置某些表为只读。具体步骤如下: 打开 SQL Server Management Studio 工具,连接到目标数据库。 在新建查询窗口中输入以下脚本: –将 E…

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