数据库基础学习之MongoDB数据库操作
MongoDB基础
1.认识MongoDB:
基于分布式文件存储的开源数据库系统。
旨在为WEB应用提供可扩展的高性能数据存储解决方案
将数据存储为一个文档,文档类似与Json格式,
{
name:“小明”,
age:16,
address: {city:“长沙”, country:“china”}
}
MongoDB数据模型:
MongoDB进入与退出:
进入: mongo
退出: exit
2.库,集合操作
(1)库级操作语句:
1.显示所有库: show dbs
2.切换/创建数据库: use 数据库名称 必须插入数据才算创建成功。
3.查看所在库: db
4.删除库: db.dropDatabase()
(2)集合操作语句:
1.显示当前数据库的集合: show collections
2.创建集合: db.createCollection(name)
例如: >db.createCollection(‘student’)
{“ok”:1}
3.删除集合: db.集合名称.drop()
3.文档操作:
1.添加文档(数据):
命令: db.集合名称.insert(document) 如果有这个集合就插入数据,如果没有这个集合就创建并插入数据。
每一条数据,就是一个document,就是一条json
(1)例: db.stu.insert({‘name’:‘qiuping,‘age’:18,‘sex’:‘m’})
1.添加文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId
每条文档都有一个id,id是唯一的,可以用于辨别不同的文档。
称为:唯一性标识
2.添加文档时,指定_id参数:
db.stu.insert({’_id’:2,‘name’:‘qiuping,‘age’:18,‘sex’:‘m’})
(2)添加多条文档
db.student.insert([
{name:xiaoming’, sex:‘男’, age:16},
{name:’xiaobai’, sex:‘男’, age:18},
{name:’moran‘, sex:’女’, age:18},
])
2.查询文档(数据):
命令: db.集合名称.find([conditions])
(1)查看集合中全部数据: db.student.find()
(2)格式化显示: db.student.find().pretty()
(3)查看满足条件的数据: db.student.find({name:‘xiaoming’})
(4)控制数据: db.student.find().limit(数字1).skip(数字2)
数字1表示显示数据个数;数字2表示开始位置(默认位置从0开始)。
3.噩梦条件:
MongoDB的条件语句也十分的强大.
and条件 {$and:[{expression1}, {expression1}, …] }
例如:
or条件 {$or:[{expression1}, {expression1}, …] }
例如:
and和or混用
例子:
(1) 第一个是查询age等于25的数据;第二个是查询age大于25的数据:
4.修改文档(数据):
命令: db.集合名称.update(, , {multi:})
(1)修改一条数据: db.table.update({sex:‘男’}, {age:20})
{sex:'男'}为满足的条件的那条数据,{age:20}为覆盖那条满足条件的数据的新数据。 代码实现后对应的那条数据只包含此代码中写的数据,原有的别的数据被覆盖。
(2)指定属性修改: { $set: {age:20} }
db.table.update({name:'xiaoming'}, {$set: {age:666, sex: 'xx'}} ) 把指定的name:'xiaoming'修改为age:666, sex: 'xx',其他的数据不变不覆盖。 注意:每次只修改一条。
(3)更新集合中所有满足条件的文档: { multi: true }
db.table.update({sex:'男'}, {$set:{sex:'女'}}, { multi:true} )
注意: 全部满足的都修改。
5.删除文档:
命令: db.table.update({sex:‘男’}, {$set:{sex:‘女’}}, { multi:true} )
(1)删除集合中所有的文档:
db.table.remove({})
(2)删除集合中满足条件的所有文档:
db.table.remove({sex: '男'})
(3)只删除集合中满足条件的第一条文档: { justOne: true }
db.table.remove({sex:'男'}, { justOne:true} )
6.总结:
4.Python与MongoDB交互
在虚拟机中下载第三方库:pip install pymongo
import pymongo:
(1)建立连接:client = pymongo.MongoClient()
(2)指定数据库:db = client[数据库名]
(3)指定集合:collection=db[集合名]
基本使用:(python3中官方已经不推荐使用以下方法,但继续使用没问题)
1.查找文档: find()
2.添加文档: insert()
3.修改文档: update()
4.删除文档: remove()
(官方推荐我们使用以下方法)
1.查找一条文档: find_one()
查找所有:find() 只是一个对象 可以用for 遍历出来
2.添加一条文档:insert_one
添加一条文档:insert_one 添加多条文档: insert_many
3.删除一条文档:delete_one
删除一条文档:delete_one 删除多条文档: delete_many
4.修改一条文档: update_one
修改多条:update_many()
- 点赞 1
- 收藏
- 分享
- 文章举报
- PHP基础学习之数据库操作
- Nodejs学习笔记(5+)文件上传基础 demo (不包括数据库操作)
- MSSQL基础学习--数据库操作
- MySQL 基础学习一 数据库以及单表的基本操作
- DJANGO基础学习之数据库操作
- android的基础学习:SQLite存储方式以及数据库操作
- 数据库基础学习之python操作mysql,redis数据库
- Servlet基础学习二(共享数据,操作数据库)
- 数据库 基础学习2— 可视化操作数据库表
- java学习数据库操作基础
- java学习数据库操作基础更规范的写法——————调用类
- MySQL 学习基础笔记-MySQL基本数据库的操作
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.11Java数据库操作(4.11.1-4.11.8)
- 数据库基础学习1——数据库和表的创建和基本操作
- python基础知识学习——数据库操作(DDL)
- 学习数据库:MySQL数据库基础操作(一)
- android基础学习11——结合ListView在界面上操作数据库
- C++数据库操作学习笔记:ADO基础知识
- YII2框架学习 基础篇(二) YII2数据库操作
- 【VC++ 中使用ADO操作数据库学习笔记】 基础环境的设置