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实点云分割k-means(sklearn)详解

    python实点云分割k-means(sklearn)详解

    这篇文章主要为大家详细介绍了Python实点云分割k-means,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Python爬虫实现验证码登录代码实例

    Python爬虫实现验证码登录代码实例

    这篇文章主要介绍了Python爬虫实现验证码登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 一文详解如何创建自己的Python装饰器

    一文详解如何创建自己的Python装饰器

    python装饰器在平常的python编程中用到的还是很多的,本篇文章中我们将来介绍一下python中最常使用的@staticmethod装饰器的使用,感兴趣的可以了解一下
    2022-09-09
  • python 字典(dict)按键和值排序

    python 字典(dict)按键和值排序

    下面小编就为大家带来一篇python 字典(dict)按键和值排序。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Python中json.dumps()和json.dump()的区别小结

    Python中json.dumps()和json.dump()的区别小结

    在Python中,json.dumps()和json.dump()是两个常用的函数,本文主要介绍了Python中json.dumps()和json.dump()的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Python源码解析之List

    Python源码解析之List

    今天带大家来复习Python底层代码LIST,文中有非常详细的介绍及代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Python封装成可带参数的EXE安装包实例

    Python封装成可带参数的EXE安装包实例

    今天小编就为大家分享一篇Python封装成可带参数的EXE安装包实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 在PyCharm中接入deepseek的API的各种方法

    在PyCharm中接入deepseek的API的各种方法

    本文详细介绍了在PyCharm中接入DeepSeek API的步骤,包括获取API密钥、安装库、编写代码、运行和调试、处理响应以及可选的封装为函数或类,此外,还提供了替代的调用方法,感兴趣的小伙伴跟着小编一起来看看吧
    2025-02-02
  • python多线程http压力测试脚本

    python多线程http压力测试脚本

    这篇文章主要为大家详细介绍了python多线程http压力测试脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 深入分析Python中Lambda函数的用法

    深入分析Python中Lambda函数的用法

    lambda函数是Python中常用的内置函数,又称为匿名函数。和普通函数相比,它只有函数体,省略了def和return,使得结构看起来更精简。本文将详细说说Lambda函数的用法,需要的可以参考一下
    2022-12-12

最新评论