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日

相关文章

  • 遭遇密码丢失 教你如何进行破解

    遭遇密码丢失 教你如何进行破解的攻略 引言 在今天的网络世界中,我们经常需要使用各种账户,比如邮箱、社交媒体和各种网站。这些账户通常都需要设置密码,但是有时候我们会忘记自己的密码或者账户被盗,这时候就需要找回密码或者进行破解。因此,本文将简要介绍密码破解的方法。 什么是密码破解? 密码破解是指通过对某个加密的密码进行技术性解除加密方式,以获取被保护信息的行为…

    人工智能概览 2023年5月25日
    00
  • pytorch通过自己的数据集训练Unet网络架构

    下面是详细的步骤: 1. 准备数据集 首先要准备自己的数据集,建议按照 PyTorch 的 Dataset 和 DataLoader 的使用方法来组织数据集。可以将训练集和验证集分别存放在不同的文件夹中,其中每个文件夹中都对应一类图像。在实现数据增强的过程中,可以使用 torchvision.transforms 中的 transforms。例如,将图片随机…

    人工智能概论 2023年5月25日
    00
  • pytorch 实现cross entropy损失函数计算方式

    下面是关于PyTorch实现交叉熵损失函数的完整攻略。 概述 交叉熵是用于测量分类模型预测输出与真实输出的差异的一种损失函数。在多分类问题中,常用的损失函数之一就是交叉熵损失函数。PyTorch提供了一种nn.CrossEntropyLoss()命令来实现对交叉熵损失函数的计算。 代码实现 import torch.nn as nn import torch…

    人工智能概论 2023年5月25日
    00
  • Freehand9中有什么新增功能 Freehand新增功能全程讲解

    Freehand9中有什么新增功能 Freehand9是一款功能强大的绘图工具,它可以帮助用户进行各种平面设计和UI设计。它在之前的版本上增加了一些新的功能,在这里我将介绍Freehand9中的新增功能。 ? 新增颜色板 Freehand9中增加了一个新的颜色板,它包含了更多的颜色和渐变,可以让用户更轻松地选择和编辑颜色。用户还可以自定义颜色,并将其保存到自…

    人工智能概览 2023年5月25日
    00
  • 详解Linux系统配置nginx的负载均衡

    下面是详解Linux系统配置nginx的负载均衡的完整攻略: 一、安装nginx 安装nginx,可使用以下命令: sudo apt-get update sudo apt-get install nginx 二、配置nginx 1.设置upstream 我们需要设置一个upstream来管理负载均衡。可以将upstream添加到nginx配置文件/etc/…

    人工智能概览 2023年5月25日
    00
  • Django框架cookie和session方法及参数设置

    Django框架cookie的使用 Cookie是一种存储在客户端的小型文本数据,它被用来跟踪用户会话信息。在Django框架中使用cookie非常简单,只需使用request.COOKIES字典来获取cookie的值或将cookie的值设置到response中即可。下面是一些常用的方法及其参数设置: 设置cookie:使用HttpResponse对象的se…

    人工智能概览 2023年5月25日
    00
  • C++通过循环实现猜数字小游戏

    这里是C++通过循环实现猜数字小游戏的完整攻略。 猜数字小游戏 猜数字是一款非常简单的小游戏,在游戏中,计算机会随机生成一个数字,玩家需要通过输入一个数字来猜测这个数字,然后计算机会告诉玩家猜测的数字是大了还是小了,直到玩家猜中这个数字为止。 代码实现 下面是一份通过循环实现猜数字小游戏的代码示例: #include <iostream> #in…

    人工智能概览 2023年5月25日
    00
  • python 生成图形验证码的方法示例

    生成图形验证码是一个较为常见的需求,Python提供了丰富的模块支持我们生成图形验证码。 下面我将详细讲解如何使用Python生成图形验证码。 1. 安装 Pillow 模块 Pillow是一个图形处理库,它支持Python 3.x。使用Pillow模块可以轻松创建和操作图片: pip install Pillow 2. 生成验证码字符串 首先需要生成验证码…

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