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

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

tags:

  • python3
  • 慕课网

categories:

  • python3
  • mysql
  • 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. 直接安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值