美文网首页
MongoDB基础

MongoDB基础

作者: 航天侠 | 来源:发表于2019-01-23 23:20 被阅读0次

    认识MongoDB

    • 基于分布式文件存储的开源数据库系统
    • 介于MySQL和Redis之间的数据库管理系统
    • 将数据存储为一个文档,文档类似与Json格式
    • 与关系型数据库最相似的非关系型数据库
    • 性能比MySQL略好
    • ::严格区分大小写::
    • 单、双引号可混用
    关系型数据库与非关系型数据库对比

    进入与退出

    mongo //进入MongoDB
    exit//退出MongoDB

    库、集合操作

    库级操作语句

    show dbs //显示所有库(没有插入数据的新建库是显示不出来的)
    use python38 //创建/切换数据库
    db //查看当前在那个数据库
    db.dropDatabase()//删除当前数据库 ::区分大小写::
    show collections //显示所有库
    

    集合操作语句

    db.createCollection('student')//创建一个名为“student”的集合 ::区分大小写:: 一般不用刻意创建,添加数据会默认创建集合
    db.student.drop() //删除名为“student”的集合
    

    文档操作

    添加文档(数据)

    db.student.insert({name:'xiaobai',age:18}) //插入一条数据
    db.student.find() //查看集合中全部数据
    db.student.find({name:’shaonan’}) //指定查询
    db.student.find({age:'18'}) //指定查询
    db.student.find().pretty() //更好看的查询(一个字段一行)
    db.student.insert([{_id:2,name:’shaonan’,age:18},{name:’shunkule’,age:20}]) //插入多个数据(_id为定义id,一般不用,会自动分配不重复的id),插入相同字段只取前面的数据
    db.student.insert({name:'zhiyong',sex:'man',school:'tzxueyuan',age:20,city:'beijing',country:'China',high:180}) //插入数据
    

    噩梦条件

    *不难但比较复杂*

    操作符
     db.student.find({age:{$ne:20}}) //::“ne”为不等于::查询age不等于20的所有数据
    db.student.find({$or:[{sex:'man'},{name:'shaonan'}]}) //查询”sex“为”man“或”name“为”shaonan“的数据
    db.table.find({$or:[{$and:[{sex:’女’}, {age:18}]},{$and:[{sex:’男’}, {age:{$gt:18}}]}]}) //在SQL中为 select * from table where (sex = 女 and age = 18) or (sex = 男 and age > 18)
    

    修改数据

    db.student.update({sex:'man'},{age:20}) //将整条“sex”为“man”的数据改为“age:20“,其它的都覆盖了。真正的修改用下面一种👇
    db.student.update({name:”shaonan’”},{$set:{age:20}}) //指定属性修改
    db.student.update({age:20},{$set:{age:18}},{malti:true}) //将所有满足条件的都修改
    

    删除数据

    db.student.remove({name:'xiaobai' }) //指定删除”name”为”xiaobai”的数据,符合条件的都删除
    db.student.remove({age:'20'},{justOne:true}) //删除第一条“age”为“20的数据 严格区分大小写,不然条件作废
    db.student.remove({}) //删除全部数据
    

    Python与MongoDB交互

    需要先安装pymongo: pip install pymongo

    ::编辑器中除数字都要加引号::

    import pymongo #导入模块
    
    clint = pymongo.MongoClient() #连接MongoDB
    
    db = clint['python38'] #连接集合
    my_col = db['student'] #连接数据库
    
    result = my_col.insert_one([{'名字':'小莫','age':18},{'name':'xiaobai','age':18}]) #插入数据
    
    my_col.find_many() #查找
    
    result = my_col.find()
    
    for i in result: #打印查询的数据
        print(i)
    

    作业

    练习 mongodb命令,截图上交

    1. 添加数据
    2. 查看数据
    3. 修改数据
    4. 删除数据
    use test01 //创建并进入数据库“test01”
    db.createCollection('student') //创建集合“student”
    db.student.insert({name:'wangsicong',age:16}) //插入数据
    db.student.update({name:"wangsicong"},{$set:{age:20}}) //有调价地修改数据
    db.student.find() //查找全部数据
    db.student.remove({name:'wangsicong'}) //删除数据
    db.student.find() //查找其它数据
    

    相关文章

      网友评论

          本文标题:MongoDB基础

          本文链接:https://www.haomeiwen.com/subject/xyjejqtx.html