数据库

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)的更多相关文章

  1. 数据库们~MySQL~MongoDB~Redis

    mysql基础 mysql进阶 python操作mysql MongoDB Redis

  2. Scrapy连接到各类数据库(SQLite,Mysql,Mongodb,Redis)

    如何使用scrapy连接到(SQLite,Mysql,Mongodb,Redis)数据库,并把爬取的数据存储到相应的数据库中. 一.SQLite 1.修改pipelines.py文件加入如下代码 # ...

  3. python 数据库mysql、redis及发送邮件

    python 关系型数据库链接使用--mysql import pymysql # 引用mysql模块 # 创建连接,指定数据库的ip地址,账号.密码.端口号.要操作的数据库.字符集coon = py ...

  4. 云服务器配置 docker java mysql mongodb redis nginx 环境

    磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...

  5. python读取数据库mysql报错

    昨天在学习PYTHON读取数据库的知识时,一直在报错,找不到原因. 最后同事说是语法错误. import sysreload(sys)sys.setdefaultencoding('gb18030') ...

  6. linux中mysql,mongodb,redis,hbase数据库操作

    .实验内容与完成情况:(实验具体步骤和实验截图说明) (一) MySQL 数据库操作 学生表 Student Name English Math Computer zhangsan lisi 根据上面 ...

  7. Python 小练习二 数据库MySQL、Redis

    import pymysql,redis def op_mysql(host,user,password,db,sql,port=3306,charset='utf8'): conn = pymysq ...

  8. 新Mac 开机启动MySQL/MongoDB/Redis 等服务

    在Mac上我们使用[homebrew]包管理工具(http://brew.sh/index_zh-cn.html)来安装和管理开发工具包,例如:mysql.php.redis.只需要一个命令 brew ...

  9. python之数据库(mysql)操作

    前言: 最近开始学django了,学了下web框架,顿时感觉又会了好多知识.happy~~ 这篇博客整理写下数据库基本操作,内容挺少.明天写SQLAlchemy. 一.数据库基本操作 1. 想允许在数 ...

随机推荐

  1. virtualbox+vagrant学习-2(command cli)-22-vagrant validate命令

    Validate 格式: vagrant validate [options] 该命令用于验证你的Vagrantfile文件 userdeMacBook-Pro:~ user$ vagrant val ...

  2. sqoop执行job报错(org/json/JSONObject)

    NoClassDefFoundError: org/json/JSONObject: [root@hadoop2 ~]# sqoop job --create myjob7 --  import -- ...

  3. Property Injection in Asp.Net Core (转载)

    问: I am trying to port an asp.net application to asp.net core. I have property injection (using ninj ...

  4. hive介绍、安装配置、表操作基础知识适合小白学习

    1.hive概述 Apache Hive数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集.可以将结构投影到已存储的数据中.提供了命令行工具和JDBC驱动以将用户连接到Hive ...

  5. u-boot-1.1.6实现自定义命令

    学习目标: 1.了解u-boot-1.1.6中命令的实现机制 2.掌握如何在u-boot-1.1.6中添加自定义命令 1.命令的实现机制 uboot运行在命令行解析模式时,在串口终端输入uboot命令 ...

  6. iOS 开发之UIStackView的应用

    ————————————————UIStackView的应用———————————————— 一:先讲下优势: 对于排布列表式控件的布局需求,用UIStackView控件,开发中为我们省去了繁琐的代码 ...

  7. PostgreSQL的HOT(Heap-Only Tuples)

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 HOT的解释: 如下的日文文档中,有几个图示, ...

  8. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  9. 2-5 re模块练习题

    1 练习: 1.验证手机号是否合法 2.验证邮箱是否合法 3.开发一个简单的python计算器,实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2 ...

  10. [SDOI2018]战略游戏 圆方树,树链剖分

    [SDOI2018]战略游戏 这题是道路相遇(题解)的升级版,询问的两个点变成了\(S\)个点. LG传送门 还是先建出圆方树,考虑对于询问的\(S\)个点,答案就是圆方树上能包含这些点的最小连通块中 ...