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数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
自己搭建resnet18网络并加载torchvision自带权重的操作
这篇文章主要介绍了自己搭建resnet18网络并加载torchvision自带权重的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-05-05使用django-guardian实现django-admin的行级权限控制的方法
这篇文章主要介绍了使用django-guardian实现django-admin的行级权限控制的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-10-10python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
这篇文章主要介绍了python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下2021-01-01Python3中的re.findall()方法及re.compile()
这篇文章主要介绍了Python3中的re.findall()方法及re.compile(),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-05-05
最新评论