python 3.6 +pyMysql 操作mysql数据库(实例讲解)

请看下面的完整攻略,分为四部分:

1. 环境准备

在使用 PyMySQL 前,需要先安装Python和PyMySQL模块。安装方法如下:

  1. 安装Python 3.6
  2. 在命令行窗口中执行命令 pip3 install PyMySQL,即可安装PyMySQL模块。

2. 连接MySQL数据库

连接MySQL数据库有两种方式,一种是使用 connect() 方法,一种是使用 Connection 对象。采用 connect() 方法的示例代码如下:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",database="testdb")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据
data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接
db.close()

其中,db 是一个 Connection 对象,cursor()方法创建一个游标对象cursor,可以使用该对象执行SQL查询,execute()方法执行查询,fetchone()方法获取单条数据,close()方法关闭数据库连接。

3. 执行SQL语句

执行 SQL 语句即利用游标对象(cursor),通过 execute() 方法执行 SQL 语句。示例代码如下所示:

import pymysql

# 打开数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",database="testdb")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
        WHERE INCOME > '%d'" % (1000)

try:
    # 执行SQL语句
    cursor.execute(sql)

    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        fname = row[0]
        lname = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        # 打印结果
        print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income))
except:
    print("Error: unable to fetch data")

# 关闭数据库连接
db.close()

以上代码执行的 SQL 语句为:SELECT * FROM EMPLOYEE WHERE INCOME > '%d' ,结果会输出所有符合条件的记录。

4. 实例演示

下面结合一个具体的案例来演示如何使用Python 3.6和PyMySQL操作MySQL数据库。

示例一

这个案例演示了如何使用 Python 3.6 和 PyMySQL 在 MySQL 数据库中创建表。

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost',
                     user='root',
                     password='123456',
                     database='testdb')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

# 执行SQL语句
cursor.execute(sql)

# 关闭数据库连接
db.close()

以上代码执行的 SQL 语句为:CREATE TABLE EMPLOYEE(FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT),该语句创建了一个名为 EMPLOYEE 的表。

示例二

这个案例演示了如何向 MySQL 数据库中插入数据。

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost',
                     user='root',
                     password='123456',
                     database='testdb')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
except:
    # 如果发生错误则回滚
    db.rollback()

# 关闭数据库连接
db.close()

以上代码执行的 SQL 语句为:INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000),该语句向名为 EMPLOYEE 的表中插入了一条记录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 3.6 +pyMysql 操作mysql数据库(实例讲解) - Python技术站

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

相关文章

  • SQL语句的基本语法

    SQL语句是结构化查询语言的缩写,用于数据库的管理、操作和查询。下面我将详细介绍SQL语句的基本语法及其使用方法。 基本语法 SQL语句的基本语法可以分为以下三个部分: 1. 关键字 关键字是SQL语句的核心部分之一,它用来指定操作类型、数据表名、查询条件等重要信息。SQL关键字大小写不敏感,但通常使用大写字母表示。以下是一些常用的SQL关键字: SELEC…

    database 2023年5月21日
    00
  • 如何在Python中插入PostgreSQL数据库中的数据?

    以下是在Python中插入PostgreSQL数据库中的数据的完整使用攻略。 使用PostgreSQL数据库的前提条件 在使用Python连接PostgreSQL数据库之前,确已经安装了PostgreSQL数据库已经创建使用数据库和表,还需要安装Python的驱动程序,例如psycopg2。 步骤1:导入模块 在Python使用psycopg2模块连接Pos…

    python 2023年5月12日
    00
  • 使用Redis实现抢购的一种思路(list队列实现)

    原文:https://my.oschina.net/chinaxy/blog/1829233   抢购是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少(“超卖”问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题,我们看看下…

    Redis 2023年4月11日
    00
  • redis性能优化之生产中实际遇到的问题及排查总结

    Redis性能优化之生产中实际遇到的问题及排查总结 Redis是一种快速、高效的内存存储数据库系统,但是在实际生产中,我们可能会遇到一些性能问题,比如读写性能下降、集群拓扑变化导致的性能问题、持久化过程中的性能问题等。接下来我们将结合实际示例,总结一下Redis在生产中常见的性能问题以及解决方案。 读写性能下降 问题描述 在Redis运行一段时间之后,我们发…

    database 2023年5月22日
    00
  • SQL Server Alwayson添加监听器失败的解决方法

    让我们来详细讲解“SQL Server Alwayson添加监听器失败的解决方法”的完整攻略。 问题描述 在SQL Server Alwayson配置过程中,当我们在添加监听器时,可能会遇到添加监听器失败的情况。此时,我们需要排查故障原因,并找到解决方法。 解决方法 1. 检查端口是否被占用 添加监听器时,如果端口被其他程序占用,就会导致添加监听器失败。因此…

    database 2023年5月21日
    00
  • SQL 生成日历

    生成日历是SQL语言中的一个经典问题。下面我将介绍如何使用SQL生成日历。 创建日历表 首先,我们需要先创建一个日历表。以下是创建日历表的SQL代码: CREATE TABLE calendar ( `date` date NOT NULL PRIMARY KEY, year int(4) NOT NULL, month int(2) NOT NULL, d…

    database 2023年3月27日
    00
  • Oracle如何直接运行OS命令(上)第1/2页

    下面是详细讲解“Oracle如何直接运行OS命令(上)第1/2页”的完整攻略。 标题 Oracle如何直接运行OS命令(上)第1/2页 正文 Oracle可以直接运行操作系统(OS)命令,可以帮助管理员更方便地进行一些操作。但是需要注意的是,这个功能只应在必要的情况下使用,并需要小心谨慎地使用。在此介绍Oracle如何直接运行OS命令的攻略。 需要使用的命令…

    database 2023年5月21日
    00
  • mysql 5.7.20 win64 安装及配置方法

    MySQL 5.7.20 Win64 安装及配置方法 安装 首先,从MySQL官网下载MySQL 5.7.20的Windows 64位安装程序。下载完成后双击运行安装程序。 在安装向导的第一步中,选择“Custom”(自定义)安装选项。 在第二步中,可以选择你要安装的MySQL组件,选中你所需要的组件即可。在此我选中了“MySQL Server”、“MySQ…

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