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多线程编程之threading模块详解

    Python多线程编程之threading模块详解

    这篇文章主要介绍了Python多线程编程之threading模块详解,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • 自己搭建resnet18网络并加载torchvision自带权重的操作

    自己搭建resnet18网络并加载torchvision自带权重的操作

    这篇文章主要介绍了自己搭建resnet18网络并加载torchvision自带权重的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python设计模式之组合模式原理与用法实例分析

    Python设计模式之组合模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之组合模式,结合具体实例形式分析了Python组合模式的相关概念、原理、定义及使用方法,需要的朋友可以参考下
    2019-01-01
  • 使用django-guardian实现django-admin的行级权限控制的方法

    使用django-guardian实现django-admin的行级权限控制的方法

    这篇文章主要介绍了使用django-guardian实现django-admin的行级权限控制的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 利用Python爬虫给孩子起个好名字

    利用Python爬虫给孩子起个好名字

    每个人一生中都会遇到一件事情,在事情出现之前不会关心,但是事情一旦来临就发现它极其重要,并且需要在很短的时间内做出重大决定,那就是给自己的新生宝宝起个名字。下面这篇文章主要介绍了如何利用Python爬虫给孩子起个好名字,需要的朋友可以参考下。
    2017-02-02
  • Pygame实战练习之推箱子游戏

    Pygame实战练习之推箱子游戏

    推箱子想必是很多人童年时期的经典游戏,我们依旧能记得抱个老人机娱乐的场景,下面这篇文章主要给大家介绍了关于如何利用python写一个简单的推箱子小游戏的相关资料,需要的朋友可以参考下
    2021-09-09
  • python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警

    python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警

    这篇文章主要介绍了python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • Python3中的re.findall()方法及re.compile()

    Python3中的re.findall()方法及re.compile()

    这篇文章主要介绍了Python3中的re.findall()方法及re.compile(),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python使用Tkinter制作一个进制转换工具

    Python使用Tkinter制作一个进制转换工具

    在平时工作学习当中,我们经常会编写一些简单的 Python GUI 工具,以此来完成各种各样的自动化任务,下面我们就来看看如何使用Python制作一个进制转换工具吧
    2024-01-01
  • 关于命令行执行Python脚本的传参方式

    关于命令行执行Python脚本的传参方式

    这篇文章主要介绍了关于命令行执行Python脚本的传参方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论