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数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django上传文件的三种方式

    django上传文件的三种方式

    本章将介绍Django上传处理文件中需要考虑的重要事项,并提供通过自定义表单和ModelForm上传文件的示范代码(附GitHub地址)。如果你的项目中需要用到文件上传,你可以从本文中获得灵感,简化你的开发。
    2021-04-04
  • Python图像处理之图像算术与逻辑运算详解

    Python图像处理之图像算术与逻辑运算详解

    这篇文章将详细讲解图像算法运算与逻辑运算,包括图像加法、图像减法、图像与运算、图像或运算、图像非运算与图像异或运算。感兴趣的可以了解一下
    2022-01-01
  • Flask URL传参与视图映射的实现方法

    Flask URL传参与视图映射的实现方法

    这篇文章主要介绍了Flask URL传参与视图映射的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • PyTorch模型创建与nn.Module构建

    PyTorch模型创建与nn.Module构建

    这篇文章主要为大家介绍了PyTorch模型创建与nn.Module构建示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • selenium 多窗口切换的实现(windows)

    selenium 多窗口切换的实现(windows)

    这篇文章主要介绍了selenium 多窗口切换的实现(windows),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Flask框架运用WTForms实现用户注册的示例详解

    Flask框架运用WTForms实现用户注册的示例详解

    WTForms 是用于web开发的灵活的表单验证和呈现库,它可以与您选择的任何web框架和模板引擎一起工作,并支持数据验证、CSRF保护、国际化等。本文将运用WTForms实现用户注册功能,需要的可以参考一下
    2022-12-12
  • Python中实现从目录中过滤出指定文件类型的文件

    Python中实现从目录中过滤出指定文件类型的文件

    这篇文章主要介绍了Python中实现从目录中过滤出指定文件类型的文件,本文是一篇学笔记,实例相对简单,需要的朋友可以参考下
    2015-02-02
  • 20非常有用的Python单行代码分享

    20非常有用的Python单行代码分享

    有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题!本文将分享20 个 Python 一行代码,你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你的时间,并使你的代码看起来更干净且易于阅读
    2022-11-11
  • 基于python中pygame模块的Linux下安装过程(详解)

    基于python中pygame模块的Linux下安装过程(详解)

    下面小编就为大家带来一篇基于python中pygame模块的Linux下安装过程(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • django Model层常用验证器及自定义验证器详解

    django Model层常用验证器及自定义验证器详解

    这篇文章主要介绍了django Model层常用验证器及自定义验证器详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论