Python如何实现与数据库交互操作
Admin 2022-05-24 群英技术资讯 340 次浏览
安装模块pip install pymongo
import pymongo client = pymongo.MongoClient() db = client["database_name"] # 跟上数据库名 collection = db["set_name"] # 指定集合名
添加--->insert_one | insert_many
collection.insert_one({"name":"kongshang","age":12})
查找--->find | find_one
collection.find()
注意要用list转换得到的数据
修改--->update_one | update_many
collection.update_one({"name":"kongshang"},{'$set':{"age":13}})
删除--->delete_one | delete_many
collection.delete_one({"name":"kongshang"})
import pymongo class MyMonDB: def __init__(self, database, collection): # 数据库及集合 self.client = pymongo.MongoClient() # 连接数据库使用 self.db = self.client[database] # 指定使用的数据库 self.col = self.db[collection] # 指定使用的集合 def insert(self, data, onlyOne=True): # onlyOne用来控制插入单条还是多条数据 if onlyOne: self.col.insert_one(data) else: self.col.insert_many(data) def find(self, query=None, onlyOne=True): # query是查询条件 if onlyOne: ret = self.col.find_one(query) return ret else: ret = self.col.find(query) return list(ret) def update(self, data_old, data_new, onlyOne=True): if onlyOne: self.col.update_one(data_old, {"$set": data_new}) else: self.col.update_many(data_old, {"$set": data_new}) def delete(self, data, onlyOne=True): if onlyOne: self.col.delete_one(data) else: self.col.delete_many(data)
注意该数据库对大小写敏感
安装模块pip install pymysql
import pymysql # 连接mysql db_config = { "host": "127.0.0.1", "port": 3306, "user": "admin", "password": "qwe123", "db": "stu", # 指定操作的数据库 "charset": "utf8" } conn = pymysql.connect(**db_config) # mysql登录 **是字典拆包 print(conn)
cur = conn.cursor() # 返回一个执行数据库命令游标对象,通过游标对象执行SQL命令 cur.execute("INSERT INTO stu (id, name) VALUES (1, 'nihao'),(2, 'ci')") # 执行SQL命令执行插入命令 conn.commit() # 事务,提交保存 cur.close() # 关闭游标对象 conn.close() # 关闭数据库
cur.execute("SELECT * FROM stu") # 执行SQL命令 # print(list(cur)) # print(cur.fetchone()) # 查询单条 # print(cur.fetchmany(3)) # 查询多条 print(cur.fetchall()) # 查询所有
try: cur.execute("INSERT INTO stu (id, name) VALUES (1, 'nihao'), (2, 'ci')") except Exception as e: print(e) conn.rollback() # 事务回滚 else: conn.commit() # 事务提交 finally: cur.close() # 关闭游标对象 conn.close() # 关闭数据库
安装模块pip install redis
import redis # 登录数据库 # host ip地址 # decode_responses get获得键值时 True返回字符串数据,默认是False二进制数据 # db 指定数据库,默认为1 red = redis.StrictRedis(host="127.0.0.1", decode_responses=True, db=2)
# 字符串 red.set("num", 1) print(red.get("num")) print(red.type("num")) red.delete('num') # 综上,调用Redis数据库的方法是red.[输入redis数据库操作命令]()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家分享python中对文件的操作,包括文件的打开和关系,读写文件和文件备案,对新手学习Python有一定的借鉴价值,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
Python例子-用python语言实现九九乘法表,并输出
这篇文章主要介绍了Python函数使用的相关练习题分享,文章基于python函数内容展开其相关例题,具有一定的参考价值,需要的小伙伴可以参考一下
本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Scala中使用def语句定义方法的详细过程,Scala的方法是类的一部分,而函数是一个对象可以赋值给一个变量,下面一起来看一下,希望对大家有帮助。
imap-tools模块是python的第三方扩展, 它使用标准库imaplib,并将常见的邮件处理事件封装,邮件处理起来代码短,下面给大家介绍下python使用imap-tools模块下载邮件中的附件示例代码,感兴趣的朋友一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008