您的位置:首页 > 数据库 > Mongodb

python 操作三大主流数据库 第六课MongoDB原生操作

2020-01-12 17:16 579 查看

python 操作三大主流数据库 第六课

tags:

  • python3
  • 慕课网

categories:

  • python3
  • mysql
  • MongoDB

文章目录

  • 第二节 MongoDB数据库安装和配置
  • 第四节 MongoDB图形化工具操作
  • 第一节 MongoDB资源介绍数据库介绍

    1. MongoDB资源介绍

    1. Mongo代表大, 他是一个分布式数据库
    2. 中文文档: http://docs.mongoing.com/manual-zh/index.html
    3. 英文文档: https://docs.mongodb.com/manual/
    4. MongoDB是一个面向文档的数据库。

    2. 文档介绍

    1. 什么是文档呢 举例:{"foo": 3, "greeting" :"Hello, world!"}
    2. 文档区分大小写, key 不可重复, 键值对是有序的(不像python的字典是无序的)
    3. 集合就是一组文档
    4. 文档类似于关系库里的行
    5. 集合类似于关系库里的表
    6. 集合中的文档无需固定的结构(与关系型数据库的区别)

    3. 集合的命名规则

    1. 不能是空字符串 ( "”)
    2. 不能包含\0字符 (空字符)
    3. 不能使用system.的前缀(系统保留)
    4. 建议不包含保留字“$”
    5. 用.分割不同命名空间的子集合(如: blog.users, blog.posts )

    4. MongoDB数据库

    1. 多个文档组成集合,多个集合组成数据库
    2. 一个实例可以承载多个数据库
    3. 每个数据库都有独立的权限
    4. 保留的数据库名称( admin,local,config )

    第二节 MongoDB数据库安装和配置

    1. 安装

    1. 下载地址:https://www.mongodb.com/download-center/community?jmp=docs
    2. 注意要在盘符的根目录下安装。如c:/MongoDB D:/MongoDB

    2. 启动

    1. windows安装目录下创建DB文件夹
    2. 添加环境变量到path中D:\MongoDB\Server\3.4\bin
    3. Windows下: mongod.exe --dbpath D:\MongoDB\DB
    4. Mac下: mongod --config /usr/local/etc/mongod.conf
    5. Linux下: sudo service mongod start
    6. 再开一个cmd窗口,输入mongo.就可以操作了

    3. 命令行操作数据库

    1. 它支持大部分的js语法
    2. 查看本地数据库:show dbs;
    3. 通过use切换数据库:use admin;
    4. 它不需要创建数据库:use student; (如果student数据库不存在自动创建)
    5. 增删该查文档:https://docs.mongodb.com/manual/crud/
    # 新增数据
    use student;
    stu = {
    name: 'john',
    age:12,
    };
    db.student.insert(stu);
    # 查询数据
    db.student.find();
    db.student.insert({name: "Alex"});
    db.student.find();
    db.student.findOne();
    # 修改数据
    stu_obj = db.student.findOne(); # 先把对象查询出并保存
    stu_obj.name = "qinan";
    db.student.update({name : "john"}, stu_obj);#实际上用stu_obj直接替换之前内容
    db.student.findOne();
    # 删除数据
    db.student.remove({}); # 删除所有数据
    db.student.remove({name: "qinan"}); # 删除一条数据
    db.student.find();

    4. 练习

    1. 创建一个学生信息表(至少包含:姓名,性别,成绩,年龄)
    2. 写入十五条不同的数据
    3. 查询所有的男生数据(只需要学生的姓名和年龄)
    4. 查询成绩及格的学生信息(学生成绩大于或等于60分)
    5. 查询所有18岁的男生和16岁的女生的数据
    6. 按照学生的年龄进行排序
    7. 将所有的学生年龄增加一岁
    # 创建一个学生信息表(至少包含:姓名、性别、成绩、年龄)
    use students;
    # 写入十五条不同的数据
    db.students.insertMany(
    [
    {name: "bob", age:16, gender:"male", grade:95},
    {name: "ana", age:18, gender:"female", grade:45},
    {name: "xi", age:15, gender:"male", grade:75},
    {name: "bob1", age:16, gender:"male", grade:95},
    {name: "ana1", age:18, gender:"female", grade:45},
    {name: "jack", age:18, gender:"male", grade:85},
    {name: "tom", age:19, gender:"male", grade:65},
    {name: "lily", age:16, gender:"female", grade:59},
    {name: "lucy", age:18, gender:"female", grade:68},
    {name: "lilei", age:18, gender:"female", grade:68},
    {name: "hanmeimei", age:16, gender:"female", grade:90},
    {name: "harry", age:16, gender:"male", grade:81},
    {name: "json", age:16, gender:"male", grade:75},
    {name: "jim", age:16, gender:"male", grade:36},
    {name: "rose", age:16, gender:"female", grade:91},
    {name: "moli", age:16, gender:"female", grade:93},
    {name: "linda", age:16, gender:"female", grade:96}
    ]
    )
    
    # 查询所有的男生数据(只需要学生的姓名和年龄)
    # 查询所有的男生数据
    db.students.find({gender:"male"})
    # 数据中只包含性别和年龄 true和1都可以显示0不显示
    db.students.find({gender:"male"},{age:true,name:1,_id:0})
    
    # 查询成绩几个的学生信息(学生成绩大于或等于60分)
    db.students.find({grade :{$gte:60}})
    
    # 查询所有18岁的男生和16岁女生的数据
    db.students.find({$or :[{gender:"female",age:16},{gender:"male",age:18}]})
    
    #按照学生的分数进行排序
    # 从小到大
    db.students.find().sort({grade:1})
    # 从大到小,倒序
    db.students.find().sort({grade:-1})
    
    # 将所有女生年龄增加一岁
    db.students.update({gender:"female"}, {$inc:{age:1}}, {multi:true})

    第四节 MongoDB图形化工具操作

    1. 下载地址: https://robomongo.org/download
    2. 直接安装。
    • 点赞
    • 收藏
    • 分享
    • 文章举报
    道教儒佛电磁波 发布了36 篇原创文章 · 获赞 4 · 访问量 394 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐