1. Python 与Mysql的交互

首先python 与 mysql的交互要依赖于第三方模块pymysql,所有先安装pymysql

pip   install   pymysql

然后实现用python 链接mysql数据库

import  pymysql#链接数据库
db=pymysql.connect(host="127.0.0.1",port=3306,user="root",password="123",db="test")#创建光标
cur=db.cursor()sql='select *  from  test1'#执行sql语句
cur.excute(sql)#当sql语句不是查询时需要执行下面的提交命令
#db.commit()

cur。close()
db.close()

#在此sql语句就不在一一列举了

2 Python  与Mongodb的交互

同样python 与mongodb的交互要依赖于第三方模块pymongo,所有先安装pymongo

pip   install  pymongo

然后实现用python 链接mongodbl数据库

from pymongo import MongoClient
# 连接MongoDB数据库
db = MongoClient('192.168.52.128', 27017)
# 数据库的添加
my_db = db.my_db
# 创建文件
my_info = my_db.my_info
# 向文件中插入数据
# my_info.insert([{'name': '曙光', 'age': 30, 'sex': '男'},{'name': '冰封', 'age': 15, 'sex': '男'},{'name': '哈哈', 'age': 18, 'sex': '男'},{'name': '嗝', 'age': 20, 'sex': '男'},{'name': '李坤', 'age': 28, 'sex': '女'}])'''
insert():可以实现单条或多条数据的插入
save():只能完成单条数据的插入,并且数据必须是字典结构
'''# 查询数据
res = my_info.find({'name': 'xiaocaicai'})
for item in res:
print(item)更新数据
#multi:布尔类型设置数据更新时是否一次性更新多条数据,默认为False
# upsert:设置数据更新时如果数据不存在,是否将本次数据添加到文件中,默认为False
my_info.update({'name': 'xiaocai'}, {'$set': {'age': 20, 'sex': '女'}}, multi=True, upsert=True)# 删除数据

delete_one():删除数据库中一条数据
delete_many():一次性删除多条数据
my_info.delete_one({'name': 'xiaocai'})my_info.delete_many({'name': 'xiaocai',{'name': 'xixx'})# mongodb查询
'''
> : $gt
< : $lt
>= : $gte
<= : $lte
'''
# 查询年龄在[15,25]之间的数据
res = my_info.find({'age': {'$gte': 15, '$lte': 25}})
for item in res:
print(item)# 查询年龄在15岁以下,或25岁以上的人员
res = my_info.find({'$or': [{'age': {'$lte': 15}}, {'age': {'$gte': 25}}]})
for item in res:print(item)res = my_info.find({'$or': [{'age': {'$lte': 15}}, {'age': {'$gte': 25}}], 'name': 'xiaocaicai'})
for item in res:
print(item)# $or: 或者,该指令通常作为字典的键,其对应的值是一个列表结构,列表中的每一个元素之间是并列的关系
# 在字典中所有的键值对之间是一种并且的关系
res = my_info.find({'$or': [{'age': {'$gte': 10, '$lte': 15}}, {'age': {'$gte': 25, '$lte': 30}}], 'name': 'xiaocaicai'})
# # sort():将查找之后的结果按照指定的字段进行排序,1代表升序,-1代表降序
# # skip(n):跳过n条数据之后再提取数据
# # limit(m):限定从某一个位置开始,只提取m条数据
res = res.sort('age', -1).skip(1).limit(2)
for item in res:print(item)# $in:提取在指定内容中的数据
res = my_info.find({'age': {'$in': (10, 20, 30, 25)}})for item in res:print(item)obj = {'name': '冰哥', 'age': '18', 'sex': '女', 'photo': ['img/big.jpg', 'img/small.jpg', 'img/normal.jpg'], 'score': [20, 30, 50, 12]}
my_info.insert(obj)# all:查找对应的数据库中的某一条数据是否包含all中所有的值,如果满足则返回结果,如果不满足则不返回数据
res = my_info.find({'score': {'$all': [20, 30]}})
for item in res:print(item)# $push:向已有数据源中按照字段进行数据的添加my_info.update({'name': '冰哥'}, {'$push': {'score': [100, 150]}})# $pop:将数据库中对应数据的某一个字段数据按照指定方式进行删除,-1:从列表的起始位置开始删除,1:从列表的最后位置开始删除
my_info.update({'name': '冰哥'}, {'$pop': {'score': -1}})# $pull:将对应数据中指定的数据分布进行删除(按值删除)
my_info.update({'name': '冰哥'}, {'$pull': {'score': [100, 150]}})# 多路查询res = my_info.find({'score.0': 50})
for item in res:print(item)

3 Python 与Redis的交互

同样先安装第三方插件

pip  install   redis

链接数据库

import redis
#decode_responses=True ,表示写入的键值对中value为str类型,不加时为 字节类型
pool=redis.ConnectionPool(host="localhost",port=6379,decode_responses=True)
r=redis.Redis(connection_pool=pool)#设置一个键值对
r.set("name",'zhangsan')#将数据保存到dump。db文件中r.save()#取出某个键对应的value值
r.get('name')#设置多个键值对
r.mset({"name1":'zhangsan', "name2":'lisi'})#列出数据库中所有的键
r.keys()# delete :删除给定的一个或多个key
r.delete('name1','name2')
print(r.keys())# #清空数据库
res=r.flushdb()#获取数据库的大小
r.dbsize()

转载于:https://www.cnblogs.com/beifangls/p/9853404.html

python 与Mysql ,Mongodb以及Redis的交互相关推荐

  1. Slog3_如何使用Python与Mysql进行数据交互

    ArthurSlog SLog-3 Year·1 Guangzhou·China July 9th 2018 自己的梦想需要你自己去实现 开发环境MacOS(High Sierra 10.13.5) ...

  2. Python3 数据库(MySQL/MongoDB/Redis)

    Python3 数据库(MySQL/MongoDB/Redis) 本文由 Luzhuo 编写,转发请保留该信息. 原文: https://blog.csdn.net/Rozol/article/det ...

  3. MySQL、MongoDB、Redis 数据库之间的区别

    [转自]:https://blog.csdn.net/CatStarXcode/article/details/79513425 NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数 ...

  4. 基于Redis+MySQL+MongoDB存储架构应用

    摘  要: Redis+MySQL+MongoDB技术架构实现了本项目中大数据存储和实时云计算的需求.使用MongoDB切片的水平动态添加,可在不中断平台业务系统的同时保障扩容后的查询速度和云计算效能 ...

  5. mongodb,redis,mysql简要对比

    mongodb,redis,mysql 简要对比 本篇内容大部分不是原创,转载的会贴有链接. 准备学习下数据库,想对目前的主流数据库做一个简单的了解分析,就搜集了资料整理到了一块. 当下主流的要数No ...

  6. python做mysql数据迁移_Python中MySQL数据迁移到MongoDB脚本的方法

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库 ...

  7. mysql 迭代更新_MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  8. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  9. Python与MySQL的交互

    Python与MySQL的交互 1 .安装mysql模块 pip3 install pymysql 2 .connection 对象 用于建立与数据库的连接 2.1  创建对象 conn = conn ...

最新文章

  1. spark—3(Spark Scheduler)
  2. 从大规模文献库中实现生物医学关系抽取
  3. 关于:last-child的一点见解
  4. python画笑脸-python 学习笔记——学会用turtle画笑脸
  5. 51单片机多任务操作系统的原理与实现
  6. 用JavaScript获取表单里的值
  7. 用linux装逼-我的vim配置(不定时更新)
  8. 【机器学习】小孩都看得懂的 GAN
  9. Scala入门到精通——第十九节 隐式转换与隐式参数(二)
  10. SAP CRM WebClient UI how to disable excel export
  11. 写出完美CSS代码的5个重要方面
  12. 2019我做成的事情
  13. Telegraf安装及使用
  14. html自动适应屏幕分辨率,css如何自适应屏幕大小?
  15. 映射到另一台计算机,远程服务器硬盘映射到本地电脑
  16. hibernate中antlr对于hql生成抽象语法树源码解析
  17. 浅入浅出——我的perforce客户端教程之二(或:p4v使用教程)
  18. 压力测试实践一:JMeter + JProfiler 入门
  19. linux fcntl函数,Linux C 学习之 - fcntl 函数
  20. cf服务器人最多,玩家实测CF各大区在线人数排名 你的区排第几?

热门文章

  1. Qt编程技巧 延时
  2. 安全终端模拟软件——Xshell
  3. 2022 ICPC网络预选赛第二场 J A Game about Increasing Sequences 歪解
  4. yan-master项目集成Activiti 6.0.0
  5. 圆钢材质名称和成分范围
  6. YoukuParser 程序 解析优酷视频
  7. css 参考手册 部署到本地
  8. 芯片的单双电源供电问题
  9. 家暴屡教不改能判刑吗
  10. [转] 治脚气;;咽痒咳嗽;睡眠磨牙;;绝招治痔疮;;乳汁不足方;;;打呼噜;;男人一周补肾食谱;; (百年难遇的好偏方)...