python操作mysql代码总结

yizhihongxing

下面进行详细讲解。

Python操作MySQL代码总结

介绍

MySQL是一种流行的关系型数据库管理系统,由于其开源性、性能稳定性和高可靠性等优点,被广泛运用于企事业单位的数据存储中。Python作为一种高级语言,具有良好的语法和丰富的库支持,同时也有着较好的数据处理能力。在Python中使用MySQL进行数据处理和存储,也是一项非常长奇便捷的工作。

安装Python的MySQL驱动库

在使用Python操纵MySQL数据库之前,需要先安装Python的MySQL驱动库。常用的MySQL Python驱动库有两种:MySQLdb和PyMySQL。这里介绍PyMySQL的安装方法,因为MySQLdb已经停止维护。

pip install pymysql

连接MySQL数据库

连接MySQL数据库可以使用pymysql.connect()函数。常用的参数包括:hostportuserpassworddb等。其中host表示要连接的MySQL服务器地址,port表示端口号,一般是3306,user表示MySQL登录用户,password表示MySQL登录密码,db表示要连接的MySQL数据库名。

import pymysql

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

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

创建数据表

创建MySQL数据表可以使用execute()函数。该函数可执行任何SQL语句,包括DDL、DML、DCL和DQL语句。

import pymysql

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

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

# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute('DROP TABLE IF EXISTS EMPLOYEE')

# 使用预处理语句创建表
sql = '''CREATE TABLE EMPLOYEE (
         FIRST_NAME CHAR(20) NOT NULL,
         LAST_NAME CHAR(20),
         AGE INT,
         SEX CHAR(1),
         INCOME FLOAT )'''

cursor.execute(sql)

# 关闭游标和数据库连接
cursor.close()
db.close()

插入数据

向MySQL数据表中插入数据可以使用execute()函数。该函数执行DML语句,包括INSERT、UPDATE和DELETE语句。在执行插入数据之前,需要开启事务。事务的开始可以使用begin()函数,结束可以使用commit()rollback()函数。

import pymysql

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

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

# 开始事务
cursor.execute('BEGIN')

# 插入数据
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES (%s, %s, %s, %s, %s)"
try:
    cursor.execute(sql, ('John', 'Doe', 25, 'M', 2000.00))
    cursor.execute(sql, ('Jane', 'Doe', 30, 'F', 2500.00))

    # 提交事务
    db.commit()
except Exception as e:
    # 回滚事务
    db.rollback()

# 关闭游标和数据库连接
cursor.close()
db.close()

查询数据

查询MySQL数据表中的数据可以使用execute()函数。该函数执行DQL语句,包括SELECT语句。在执行查询之后,可以使用fetchone()函数或fetchall()函数获取查询结果。

import pymysql

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

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

# 查询数据
sql = "SELECT * FROM EMPLOYEE WHERE AGE > %s"
try:
    cursor.execute(sql, (20,))
    results = cursor.fetchall()
    for row in results:
        first_name = row[0]
        last_name = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]

        # 打印结果
        print("first_name=%s, last_name=%s, age=%d, sex=%s, income=%d" % (first_name, last_name, age, sex, income))
except Exception as e:
    print(str(e))

# 关闭游标和数据库连接
cursor.close()
db.close()

示例说明

示例1:创建一个名为testdb的MySQL数据库,其中包含一个名为EMPLOYEE的数据表,表中有5个字段。

import pymysql

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

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

# 创建数据库
cursor.execute('DROP DATABASE IF EXISTS testdb')
cursor.execute('CREATE DATABASE testdb')

# 使用数据库
cursor.execute('USE testdb')

# 创建数据表
cursor.execute('DROP TABLE IF EXISTS EMPLOYEE')
sql = '''CREATE TABLE EMPLOYEE (
         FIRST_NAME CHAR(20) NOT NULL,
         LAST_NAME CHAR(20),
         AGE INT,
         SEX CHAR(1),
         INCOME FLOAT )'''
cursor.execute(sql)

# 关闭游标和数据库连接
cursor.close()
db.close()

示例2:向EMPLOYEE表中插入2条数据,然后获取并打印表中所有数据。

import pymysql

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

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

# 插入数据
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES (%s, %s, %s, %s, %s)"
try:
    cursor.execute(sql, ('John', 'Doe', 25, 'M', 2000.00))
    cursor.execute(sql, ('Jane', 'Doe', 30, 'F', 2500.00))
    db.commit()
except Exception as e:
    db.rollback()

# 查询数据
sql = "SELECT * FROM EMPLOYEE"
try:
    cursor.execute(sql)
    results = cursor.fetchall()
    for row in results:
        first_name = row[0]
        last_name = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]

        # 打印结果
        print("first_name=%s, last_name=%s, age=%d, sex=%s, income=%d" % (first_name, last_name, age, sex, income))
except Exception as e:
    print(str(e))

# 关闭游标和数据库连接
cursor.close()
db.close()

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作mysql代码总结 - Python技术站

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

相关文章

  • 浅谈linux下的串口通讯开发

    浅谈 Linux 下的串口通讯开发 什么是串口通讯 在计算机与外设通讯中,串口通讯是一种老而弥坚的通讯方式,它通过一组简单的信号线传输数据,它能够对应用上出现的许多通讯问题提供精确、不出错的通讯解决方案。 Linux 中的串口通讯 在 Linux 中,串口通讯也被广泛应用于硬件与软件的沟通连接中。Linux 操作系统提供了开源的串口通讯库,可以方便的对串口进…

    人工智能概览 2023年5月25日
    00
  • 详解SpringBoot通用配置文件(不定时更新)

    详解Spring Boot通用配置文件 1. 前言 在开发基于Spring Boot框架的应用时,通用配置文件是必不可少的。通过通用配置文件,我们可以方便的管理应用所需的基础配置信息,例如数据库连接配置、日志配置、缓存配置等。Spring Boot提供了强大的配置文件管理功能,支持多种配置文件格式,例如Properties和YAML。本文将详细讲解Sprin…

    人工智能概览 2023年5月25日
    00
  • python中opencv 直方图处理

    下面是关于Python中OpenCV直方图处理的完整攻略。 1. 直方图简介 直方图是一种可视化数据的方式,将数据分组成某些组或“桶”,并将每个桶的数量绘制成柱状图。在计算机视觉中,直方图是一种重要的工具。在图像处理中,直方图表示像素值的分配情况。例如,对一张灰度图像计算直方图时,我们要计算出像素值在0~255之间的每个灰度级别的像素数量。 2. 使用Ope…

    人工智能概览 2023年5月25日
    00
  • Django mysqlclient安装和使用详解

    Django mysqlclient安装和使用详解 在使用 Django 操作 MySQL 数据库时,我们需要安装 Python MySQL 库的驱动程序。Django 的官方文档中建议使用 mysqlclient 或 PyMySQL 两种驱动库。这里详细介绍 mysqlclient 的安装及使用过程。 安装 1. 安装 MySQL 在安装 mysqlcli…

    人工智能概览 2023年5月25日
    00
  • 显卡驱动CUDA 和 pytorch CUDA 之间的区别

    让我来为您讲解“显卡驱动CUDA和pytorch CUDA之间的区别”。 首先,需要明确的是,显卡驱动CUDA和pytorch CUDA是两个不同的概念。显卡驱动CUDA是指NVIDIA公司发布的支持CUDA的显卡驱动程序,而pytorch CUDA是指pytorch框架基于NVIDIA CUDA开发的深度学习库。二者的相似之处在于,都需要使用显卡以提高训练…

    人工智能概览 2023年5月25日
    00
  • nginx win32 版本静态文件测试 (Windows环境)

    针对题目所提出的问题,“nginx win32 版本静态文件测试 (Windows环境)”的完整攻略,我将从以下几方面介绍: nginx win32版本介绍 nginx win32版本的安装及配置 nginx win32版本静态文件测试的示例说明 1. nginx win32版本介绍 nginx是一款轻量级的Web服务器/反向代理服务器,其优点是占用资源少,…

    人工智能概览 2023年5月25日
    00
  • Node.js Mongodb 密码特殊字符 @的解决方法

    题目:Node.js Mongodb 密码特殊字符 @的解决方法 在使用 Node.js 进行 Mongodb 数据库连接时,如果 Mongodb 数据库的密码中包含 @ 特殊字符,会导致连接失败。本文将介绍两种解决方法。 方法一:使用 encodeURIComponent() 函数对密码进行编码 在传入 Mongodb 的连接字符串时,可以使用 encod…

    人工智能概览 2023年5月25日
    00
  • win7系统关闭美化桌面的视觉效果来提升性能

    下面我将详细讲解“win7系统关闭美化桌面的视觉效果来提升性能”的完整攻略,步骤如下: 1. 打开系统属性 右击计算机图标,选择“属性”,或者直接在开始菜单中搜索“systempropertiesadvanced”,进入系统属性。 2. 进入性能选项 在打开的系统属性窗口中,选择“高级”选项卡,然后点击“设置”按钮,进入性能选项。 3. 关闭视觉效果 在性能…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部