python操作mysql代码总结

下面进行详细讲解。

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日

相关文章

  • PHP程序员玩转Linux系列 Linux和Windows安装nginx

    PHP程序员玩转Linux系列:Linux和Windows安装nginx攻略 一、什么是nginx Nginx是一个高性能、高并发的Web服务器,它既可以充当静态Web服务器,也可以作为反向代理服务器、负载均衡服务器、邮件代理服务器或者HTTP缓存服务器。目前,nginx已经成为许多大型网站的主流Web服务器之一。 二、Linux安装nginx 2.1 使用…

    人工智能概览 2023年5月25日
    00
  • 实例详解SpringBoot+nginx实现资源上传功能

    下面我将详细讲解“实例详解SpringBoot+nginx实现资源上传功能”的完整攻略。 1. 背景介绍 近年来,随着网络技术的快速发展,互联网已经成为人们生活中不可或缺的一部分。随之而来的是海量的数据和文件需要上传和存储,因此资源上传功能逐渐变得非常重要。 本文将介绍如何使用SpringBoot和nginx实现资源上传功能的详细步骤。 2. 实现步骤 2.…

    人工智能概览 2023年5月25日
    00
  • Vue兼容ie9的问题全面解决方案

    下面是关于“Vue兼容IE9的问题全面解决方案”的攻略: 1. 问题描述 Vue版本从2.x开始,不再支持IE8以及更早的版本,而IE9在Vue项目中的兼容性问题也比较突出,容易导致项目运行出错或数据无法正确展示。 2. 解决方案 2.1 使用babel-polyfill兼容ES6的语法 IE浏览器不支持ES6的语法,我们需要使用babel将ES6转为ES5…

    人工智能概览 2023年5月25日
    00
  • ubuntu下安装Python多版本的方法及注意事项

    下面我会详细讲解“ubuntu下安装Python多版本的方法及注意事项”的完整攻略。在Ubuntu系统中,我们可以通过以下步骤来安装Python多版本。 安装pyenv pyenv是一个Python版本管理工具,它可以方便地管理多个Python版本,我们可以通过以下命令来安装pyenv。 $ git clone https://github.com/yyuu…

    人工智能概览 2023年5月25日
    00
  • 基于tensorflow __init__、build 和call的使用小结

    基于 TensorFlow __init__、build 和 call 是一种创建自定义模型的方法。__init__ 方法通常用于初始化模型的状态(例如层权重),build 方法用于创建层权重(即,输入的形状可能未知,但输入大小会在层的第一次调用中指定),call 方法定义了前向传递逻辑。本文将详细介绍这三个方法的使用。 使用 __init__ 方法 __i…

    人工智能概论 2023年5月25日
    00
  • Windows nginx安装教程及简单实践

    Windows Nginx安装教程及简单实践 安装Nginx 下载最新版本的Nginx for Windows,解压到需要安装的目录下。 打开cmd命令行,进入Nginx所在目录的子目录nginx-1.21.0,启动Nginx服务。 cd D:\nginx-1.21.0\ //(假设Nginx解压到了D盘) nginx.exe 如果提示端口被占用,可以修改N…

    人工智能概览 2023年5月25日
    00
  • Python无损音乐搜索引擎实现代码

    Python无损音乐搜索引擎实现代码 介绍 本文将介绍如何使用Python编写一个无损音乐搜索引擎,并提供两个示例说明。无损音乐搜索引擎可以帮助用户快速、方便地搜索无损音乐,并提供下载链接。在实现过程中,我们将会用到Python中的一些常用库,如requests、BeautifulSoup等。 实现步骤 步骤1:分析网站 首先,我们需要找到一个无损音乐的网站…

    人工智能概论 2023年5月25日
    00
  • Python async+request与async+aiohttp实现异步网络请求探索

    Python async+requests与async+aiohttp实现异步网络请求探索 异步和同步 在Python编程中,通常有两种方式来进行多任务处理,分别是同步和异步。 在同步模式下,任务是按顺序执行的,当一个任务没有执行完毕时,下一个任务就必须等待。这种方式下,任务执行效率很低,往往也比较难来处理网络请求等事情。 在异步模式下,程序可以同时执行多个…

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