Python交互数据库(Mysql | Mongodb | Redis)
数据库
Mysql

Mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品
MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库.
创建数据库
create database zhaozhao charset=utf8;use zhaozhao;create table zhaozhao_comic( id int unsigned primary key auto_increment not null, name varchar(100),
zone varchar(100) );insert into zhaozhao_comic values
(0, "旋涡鸣人", "木叶村"),
(0, "苏苏", "涂山"),
(0, "曹焱兵", "镇魂街"),
(0, "坂田银时", "万事屋");
操作数据库
from pymysql import *def main():
# 创建Connection连接
conn = connect(host='172.16.221.143',port=3306,database='zhaozhao',user='root',password='root',charset='utf8')
# 获得Cursor对象
cs1 = conn.cursor() # 执行insert语句,并返回受影响的行数:添加一条数据 # 增加
count = cs1.execute('insert into zhaozhao_comic(name, zone) values("我爱罗", "风之国"),("奇拉比", "雷之国")') # 打印受影响的行
print ("共有",count, "行受影响!")
count = cs1.execute('insert into zhaozhao_comic values(0, "奥特曼", "M78星云")') # 打印受影响的行
print ("共有",count, "行受影响!") # 执行
conn.commit() # 删除
count = cs1.execute('delete from zhaozhao_comic where name = "奇拉比" ') # 打印受影响的行
print ("共有",count, "行受影响!") # 执行
conn.commit() # 更改
count = cs1.execute('update zhaozhao_comic set name="赛罗奥特曼" where name="奥特曼"') # 打印受影响的行
print ("共有",count, "行受影响!") # 执行
conn.commit()
# 查询
count = cs1.execute('select * from zhaozhao_comic where id < 5') # 打印受影响的行
print ("共查到",count, "行数据!") for i in range(count): result = cs1.fetchone() print ("第%d次查到的数据为%s:"%(i+1, result)) # 关闭Cursor对象
cs1.close() # 关闭Connection对象
conn.close()if __name__ == '__main__':
main()
Mongdb

Mongdb
MongoDB 是一个基于分布式文件存储的NoSQL数据库.
MongoDB由C++语言编写,运行稳定,性能高.
MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案.
from pymongo import *def main():
# 创建连接对象
client=MongoClient(host='localhost',port=27017) # 获得数据库,此处使用python数据库
db=client.python # 增加
db.stu.insert_one({'name':'佐助','gender':'男'})
db.stu.insert_one({'name':'春野樱','gender':'女'})
db.stu.insert_one({'name':'蒙奇 D 路飞','gender':'男'})
db.stu.insert_one({'name':'索隆','gender':'男'})
db.stu.insert_one({'name':'娜美','gender':'女'}) # 查询 #查询一条文档
result=db.stu.find_one({'name':'索隆'}) print (result) #查询多条文档
result=db.stu.find({'gender':'男'}) for item in result: print ('%s--%s'%(item['name'],item['gender'])) # 修改 #更新满足条件的第一条文档
db.stu.update_one({'name':'佐助'},{'$set':{'name':'宇智波佐助'}}) #更新满足条件的所有文档
db.stu.update_many({'gender':"男"},{'$set':{'gender':'boy'}}) # 删除
# 删除满足条件的第一条文档
db.stu.delete_one({'gender':'男'}) #删除满足条件的所有文档
db.stu.delete_many({'gender':'女'})if __name__=='__main__':
main()
redis

Redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持.厦门叉车哪家好
Redis是一个开源(BSD许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件.
from redis import *def main(): #创建StrictRedis对象,与redis服务器建立连接
sr=StrictRedis() # 添加 #添加键py1,值为gj
result=sr.set('name','zhaozhao') #输出响应结果,如果添加成功则返回True,否则返回False
print ("添加结果:",result) # 查询 #获取键py1的值
result = sr.get('name') #输出键的值,如果键不存在则返回None
print ("获取的值为:",result) # 修改 #设置键py1的值,如果键已经存在则进行修改,如果键不存在则进行添加
result = sr.set('name','zhaozhaolee') #输出响应结果,如果操作成功则返回True,否则返回False
print (result) # 删除 #设置键py1的值,如果键已经存在则进行修改,如果键不存在则进行添加
result = sr.delete('name') #输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
print (result)if __name__=="__main__":
main()
Python交互数据库(Mysql | Mongodb | Redis)的更多相关文章
- 数据库们~MySQL~MongoDB~Redis
mysql基础 mysql进阶 python操作mysql MongoDB Redis
- Scrapy连接到各类数据库(SQLite,Mysql,Mongodb,Redis)
如何使用scrapy连接到(SQLite,Mysql,Mongodb,Redis)数据库,并把爬取的数据存储到相应的数据库中. 一.SQLite 1.修改pipelines.py文件加入如下代码 # ...
- python 数据库mysql、redis及发送邮件
python 关系型数据库链接使用--mysql import pymysql # 引用mysql模块 # 创建连接,指定数据库的ip地址,账号.密码.端口号.要操作的数据库.字符集coon = py ...
- 云服务器配置 docker java mysql mongodb redis nginx 环境
磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...
- python读取数据库mysql报错
昨天在学习PYTHON读取数据库的知识时,一直在报错,找不到原因. 最后同事说是语法错误. import sysreload(sys)sys.setdefaultencoding('gb18030') ...
- linux中mysql,mongodb,redis,hbase数据库操作
.实验内容与完成情况:(实验具体步骤和实验截图说明) (一) MySQL 数据库操作 学生表 Student Name English Math Computer zhangsan lisi 根据上面 ...
- Python 小练习二 数据库MySQL、Redis
import pymysql,redis def op_mysql(host,user,password,db,sql,port=3306,charset='utf8'): conn = pymysq ...
- 新Mac 开机启动MySQL/MongoDB/Redis 等服务
在Mac上我们使用[homebrew]包管理工具(http://brew.sh/index_zh-cn.html)来安装和管理开发工具包,例如:mysql.php.redis.只需要一个命令 brew ...
- python之数据库(mysql)操作
前言: 最近开始学django了,学了下web框架,顿时感觉又会了好多知识.happy~~ 这篇博客整理写下数据库基本操作,内容挺少.明天写SQLAlchemy. 一.数据库基本操作 1. 想允许在数 ...
随机推荐
- Robotframework测试相关库的简单整理
一. 官网地址 http://robotframework.org/#libraries 二.几类测试所用到的常用库初步整理 1. UI自动化测试 Selenium2Library.BuiltIn(自 ...
- vue2 broadcast和dispatch的理解
/* broadcast 事件广播 @param {componentName} 组件名称 @param {eventName} 事件名 @param {params} 参数 遍历寻找所有子孙组件,假 ...
- Dijkstra学习笔记
暂时空白.... 没有前置,我用vector存图 //存储 struct edge{ int w,to;//w是权值,to是连接到的下一条边 }; vector<edge> e; //连边 ...
- 详解 Python3 正则表达式(四)
上一篇:详解 Python3 正则表达式(三) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些注明和修改 ^_^ 更多强大的功能 ...
- Get與Post的區別--總結隨筆
關於Get與Post的區別的文章,在網上太多了:有優點有缺點,今天我給各位大哥做一個總結性的隨筆,還請多多包涵~ 首先是W3School上的答案,請查收: GET在浏览器回退时是无害的,而POST会再 ...
- C语言中关于逗号运算符的理解
在C语言中运算符有很多,包括算数运算符.关系运算符.赋值运算符.位运算符.逻辑运算符.三目运算符.sizeof运算符.逗号运算符等等,那今天我们就重点来给大家讨论一下关于逗号运算符的一些运算规则. 首 ...
- JQuery第二天——JQuery的DOM操作
JQuery拥有隐式迭代和显式迭代 因为JQuery为类数组对象,可以使用手动遍历实现显式 .each():也可以使用 $("p").click(function(){ var t ...
- Android JS interaction
WebView web; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst ...
- Oracle单节点_Grid_Infrastructure_DB_安装过程图解(一/三)
首先进行各种准备: ASMLIB的准备,用户和目录的创建. 安装好Linux之后(采用了OEL 5.7),查看是否光盘中包含ASMLIB:
- 「PKUSC2018」真实排名
题面 题解 因为操作为将一些数字翻倍, 所以对于一个数\(x\), 能影响它的排名的的只有满足\(2y\geq x\)或\(2x>y\)的\(y\) 将选手的成绩排序,然后考虑当前点的方案 1. ...