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

数据库

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()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

MySQL基础入门——MySQL与R语言、Python交互

MySQL作为z最为流行的关系型数据库管理平台之一,与绝大多数数据分析工具或者编程语言都有接口,今天这一篇分享如何将MySQL与R语言、Python进行连接。 ...

43580
来自专栏数据小魔方

左手用R右手Python系列之——noSQL基础与mongodb入门

12月的第一天,祝所有小伙伴儿的12月都能够被温柔以待。 能在学校悠哉写推送的日子所剩不多了,为了珍惜剩下所剩不多的推送机会,打算12月写一些实践性强一些的内...

60970
来自专栏数据小魔方

MySQL数据库基础——本地文件交互

从这一篇开始,大概会花四五篇的内容篇幅,归纳整理一下之前学过的SQL数据库,一来可以为接下来数据分析工作提前巩固基础,二来把以前学的SQL内容系统化、结构化。 ...

377120
来自专栏数据小魔方

MySQL基础入门系列之——字符与日期数据处理

今天这一篇分享MySQL中的字符串处理工具与日期时间处理,这一部分内容虽然看似不多,但是往往是输出处理中的的痛点。 我的MySQL数据库中已经建好了一个包含两列...

38790
来自专栏c#开发者

jquery easyui datagrid mvc server端分页排序筛选的实现

1自定义一个ModelBinder public class filterRule { public string field { g...

48490
来自专栏代码世界

MYSQL之视图、触发器、存储过程、函数、事物、数据库锁和数据库备份

一、视图 -- view 视图:是一个虚报表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。 视图有如下特点:   1.视图的列可以来自...

41390
来自专栏数据小魔方

NoSQL学习笔记之——Redis基础

之前练习过一篇NoSQL之Mongodb基础的笔记,这一篇开始练习NoSQL系列的又一重要利器——Redis。 Redis是一个开源的,基于内存并可持久化的日志...

30560
来自专栏c#开发者

Configure Many-to-Many relationship:

Configure Many-to-Many relationship: Here, we will learn how to configure Many-t...

367110
来自专栏专知

【观点】漫谈推荐系统及数据库技术(二)——分布式数据库技术

【导读】推荐系统和数据库技术,一个是偏机器学习数据挖掘相关的应用,一个是偏系统存储相关的技术,这两者在实际中有很大的应用。上一次专知推出漫谈推荐系统及数据库技术...

41290
来自专栏c#开发者

Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)

Asp.Net MVC +EntityFramework主从表新增编辑操作的实现 对于MVC中同时对主从表的表单操作在网上现有的解决很少,而这样的操作在做业务系...

47480

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励