Python操作MySQL数据库的基本方法(查询与更新)

 更新时间:2023年09月17日 10:50:04   作者:张六十zhangliushi  
在工作中我们需要经常对数据库进行操作,比如 Oracle、MySQL、SQL Sever等,这篇文章主要给大家介绍了关于Python操作MySQL数据库的基本方法包括了数据查询与数据更新(新增、删除、修改),需要的朋友可以参考下

前言

本文分享使用Python操作MySQL数据库的基本方法,包括数据库连接、建表、插入和查询,供各位小伙伴参考。

一、连接MySQL数据库

操作MySQL数据库主要使用pymysql包,连接MySQL数据库的语法为connect(IP, 端口, 用户名, 密码, 数据库名,编码格式)。

import pymysql
conn = pymysql.connect(host='xxx',
                       port='xxx',
                       user='xxx',
                       password='xxx',
                       database='xxx',
                       charset='utf8')

二、建表

  • 创建mysql连接:pymysql.connect(),详见上文第一点
  • 创建游标:conn.cursor()
  • 编写建表语句:
    (1)create_sql = “”“xxx”“”
    (2)cursor.execute(create_sql)
  • 提交建表语句:conn.commit()
  • 关闭mysql连接:conn.close()
import pymysql
conn = pymysql.connect(host='xxx',
                       port='xxx',
                       user='xxx',
                       password='xxx',
                       database='xxx',
                       charset='utf8')
cursor = conn.cursor()
create_sql = """
    CREATE TABLE IF NOT EXISTS xxx.aaa_20230326
    (
        id    VARCHAR(4)    NOT NULL    PRIMARY KEY
       ,name  VARCHAR(100)
    );
"""
cursor.execute(create_sql)
print("create successfully")
conn.commit()
conn.close()

三、插入

(一)直接插入字段值

直接在字段中插入字段值,插入语句写于双引号中,常用于简单赋值。

import pymysql
conn = pymysql.connect(host='xxx',
                       port='xxx',
                       user='xxx',
                       password='xxx',
                       database='xxx',
                       charset='utf8')
cursor = conn.cursor()
insert_sql = "INSERT INTO xxx.aaa(id, name) VALUES ('%s', '%s')" % ('001', '张三')
cursor.execute(insert_sql)
print("insert successfully")
conn.commit()
conn.close()

(二)查表插入

将其他表数据查询出来,插入到目标表中,插入语句写于三引号中,常用于编写复杂逻辑插入数据。

import pymysql
conn = pymysql.connect(host='xxx',
                       port='xxx',
                       user='xxx',
                       password='xxx',
                       database='xxx',
                       charset='utf8')
cursor = conn.cursor()
insert_sql = """
    INSERT INTO xxx.aaa
    SELECT
        xxx
    FROM xxx.bbb
    UNION ALL
    SELECT
        xxx
    FROM xxx.ccc
    ;
"""
cursor.execute(insert_sql)
print("insert successfully")
conn.commit()
conn.close()

四、查询

查询MySQL数据库表数据可以使用pandas包,语法为read_sql(‘SQL查询语句’, con=mysql连接)。

import pandas as pd
import pymysql
conn = pymysql.connect(host='xxx',
                       port='xxx',
                       user='xxx',
                       password='xxx',
                       database='xxx',
                       charset='utf8')
df = pd.read_sql('select * from xxx.aaa', con=conn)
print(df)

总结

结合各类Python操作MySQL数据库的方法,可以写出复杂脚本,进行数据清洗和分析或者配合调度进行自动化操作,提高我们的效率。

到此这篇关于Python操作MySQL数据库的文章就介绍到这了,更多相关Python操作MySQL数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python中字符串前“b”,“r”,“u”,“f”的作用

    详解Python中字符串前“b”,“r”,“u”,“f”的作用

    这篇文章主要介绍了Python中字符串前“b”,“r”,“u”,“f”的作用,感兴趣的朋友跟随小编一起看看吧
    2019-12-12
  • Django分页器的用法详解

    Django分页器的用法详解

    本文主要介绍在利用Django开发MVT模型项目时分页器的使用,感兴趣的朋友可以参考下
    2021-05-05
  • Python数学形态学实例分析

    Python数学形态学实例分析

    这篇文章主要介绍了Python数学形态学,结合实例形式分析了Python数学运算与图形绘制相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • python tkinter自定义实现Expander控件

    python tkinter自定义实现Expander控件

    和其他成熟的GUI库相比,tkinter的组件并不是太多,但在自定义组件这一点上,并不逊色于其他框架,下面小编就教大家如何自定义一个Expander控件吧
    2023-08-08
  • 详解Python的Lambda函数与排序

    详解Python的Lambda函数与排序

    本篇文章主要是介绍了Python的Lambda函数与排序,简单的介绍了Lambda函数的用法和排序,有需要的朋友可以了解一下。
    2016-10-10
  • Python爬虫中如何使用xpath解析HTML

    Python爬虫中如何使用xpath解析HTML

    文章详细介绍了如何使用Python的lxml库中的xpath进行网页数据爬取,解释了xpath与BeautifulSoup相比的优势,介绍如何使用lxml库加载HTML内容,包括parse()、fromstring()和HTML()方法的使用,展示了如何使用xpath定位HTML节点,包括使用绝对定位和相对定位
    2024-11-11
  • Flask处理Web表单的实现方法

    Flask处理Web表单的实现方法

    这篇文章主要介绍了Flask处理Web表单的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 基于python的文字转图片工具示例详解

    基于python的文字转图片工具示例详解

    这篇文章主要介绍了基于python的文字转图片工具,请求示例是使用 curl 命令请求示例,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Python模式匹配match case的实现

    Python模式匹配match case的实现

    Python 3.10 引入 match 语句,替代冗长的 if-elif 链,提升可读性,支持精确匹配、守卫条件、多值匹配、值绑定及解包操作,本文主要介绍了Python模式匹配match case的实现
    2025-10-10
  • 如何使用Python创建json文件

    如何使用Python创建json文件

    众所周知JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,这篇文章主要给大家介绍了关于如何使用Python创建json文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06

最新评论