服务器之家

服务器之家 > 正文

Python接入MySQL实现增删改查的实战记录

时间:2021-09-15 00:36     来源/作者:径流系数

前言

我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案。在众多数据库中,MySQL数据库算是入门比较简单、语法比较简单,同时也比较实用的一个。本文主要介绍了Python接入MySQL实现增删改查的相关内容,下面话不多说,一起来看看详细的介绍吧

打开数据库连接,创建数据库和表

基本语法如下:

?
1
2
3
4
5
execute(query, args=None)
# query为字符串类型的sql语句
# args:可选的序列或映射,用于query的参数值。
# 如果args为序列,query中必须使用%s做占位符;
# 如果args为映射,query中必须使用%(key)s做占位符

案例:数据库名learning,表名houses,字段name house_location purchasing_year

?
1
2
3
4
5
6
7
8
import pymysql
db = pymysql.connect('localhost', 'root', "password"# 打开数据库连接,password替换为本机数据库密码
cursor = db.cursor()
cursor.execute('drop database learning;')
cursor.execute('create database learning;')
cursor.execute('use learning')
sql_create = """create table houses (name VARCHAR(100) NOT NULL, house_location VARCHAR(100) NOT NULL, purchasing_year VARCHAR(100) NOT NULL);"""
cursor.execute(sql_create)

插入

?
1
2
3
4
# 插入
sql_insert = """insert into houses values(%s,%s,%s);"""
cursor.execute(sql_insert,('梦璃','南天门',1995))  # 插入单条数据
cursor.executemany(sql_insert,[('紫英','蜀山',1996),('天河','石沉',1997),('菱纱','溪洞',1998)])  # 插入多条数据

查询

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sql_select = """select * from houses"""
# 单条查询
cursor.execute(sql_select)
while 1:
 result = cursor.fetchone()
 if result is None:
  # 取完所有结果
  break
 print(result)
 
# 多条查询,取3条数据
cursor.execute(sql_select)
Result = cursor.fetchmany(3)
for res in Result:
 print(res)
 
# 多条查询,取所有数据
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)

更新

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 更新一条数据
sql_update = """update houses set purchasing_year=2000 where name='菱纱';"""
cursor.execute(sql_update)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 更新多条数据
sql_update = """update houses set purchasing_year=%s where name=%s;"""
cursor.executemany(sql_update,[(2018,'梦璃'),(2019,'紫英')])
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 回滚事务
db.rollback()
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)

删除

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 删除1条数据
sql_delete = """delete from houses where name='梦璃';"""
cursor.execute(sql_delete)
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)
# 删除多条数据
sql_delete = """delete from houses where name=%s;"""
cursor.executemany(sql_delete,[('天河'),('紫英')])
cursor.execute(sql_select)
Result = cursor.fetchall()
for res in Result:
 print(res)

关闭游标,关闭数据库连接

?
1
2
3
4
cursor.close()           # 关闭游标
db.commit()
db.close()            # 关闭数据库连接
print('sql执行成功')

总结

到此这篇关于Python接入MySQL实现增删改查的文章就介绍到这了,更多相关Python MySQL增删改查内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/Coefficient1996/article/details/114359046

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部