nosql 数据库 是非关系型数据库 (not only sql)(BSON == JSON == dict)
常用的 有 mongodb、redis这2种
什么是nosql数据库:
数据库:进行高效的、有规则的进行数据持久化存储的软件
NoSQL数据库:Not only sql,指代非关系型数据库
优点:高可扩展性、分布式计算、低成本、灵活架构、半结构化数据、简化关联关系
缺点:没有标准化、有限查询、不直观
常见[NoSQL]数据库 BSON==json
列存储:Hbase、Cassandra、Hypertable
文档存储:MongoDB、CouchDB
k-v存储:TokyoCabinet、BerkeleyDB、Memcache、redis
对象(图)存储:Neo4J、Versant
Xml数据库:BerkeleyDB、BaseX
mongodb:(开源的 可以从官方网站下载 偶数是稳定版 奇数是开发板)
1、安装
在window下使用压缩包安装 :
1、解压文件到某个盘符(路径不能包含特殊字符和中文)
2、配置bin到环境变量中的path
3、在主目录新建data文件夹、在 data文件夹 下新建 db文件夹 和log文件夹 在 log文件夹中新建log.log文件
4、以管理员身份打开cmd
输入指令 mongodb --dbpath db文件路径 配置db
输入指令mongodb --dbpath db文件夹路径 --logpath log.log文件路径 --install 配置服务 (注册成服务)
5、开启mongodb服务使用mongodb数据库
在linux下安装:
1、sudo apt install mongodb 第一种方法
2、第二种方法通过压缩包安装 tar -zxvf 压缩文件名
未完 待补充需要配置path
mongodb概述:
是基于分布式文件存储 的nosql 数据库 由c++编写
优点: 模式自由 面向集合 完整索引支持 复制和高可用性
mongodb 术语解释
sql --------> nosql
DBMS ---- >DBMS :数据库管理系统
database ----> database 数据库
table ----------> collection 数据库 表------>集合
row ------------> document 数据 记录 ------> 文档
column ---------> field 数据 字段--------> 域
index -------> index 索引
table -join ------------> None 表连接
primary key ----------> primary key 主键
mongodb 基本操作 (mongodb将数据存储为一个文档 数据由键值对的形式组成 组成三元素 数据库--->集合----->文档(域))
数据库结构的一些操作:
首先打开cmd 输入mongo 打开mongodb服务
mongodb的简单使用
show dbs
use dbName
db\db.getName()
db.help()
db.createCollection("name")
db.cname.insert({}); db.cname([{},{},{}.........])插入多条数据
db.dropDatabase();
db.cname.drop()
show dbs 查看当前数据库
db 查看当前在那个数据库
use db_py1712 切换到db_py1712数据库
show collections显示当前数据库下所有的集合
db.createCollection('stu') 创建一个数据集合
show dbs
use users
show collections
db.user.find({age:{$lt:30}})
db.user.find().pretty()
db.user.find({age:30}).pretty() ====== db.user.find({age:{$eq:18}}).pretty()
db.user.insert({name:'xiaoming',age:20}) 插入一条数据
db.user.insert({name:'xiaoming',age:30})
db.user.find({age:{$eq:30},name:'xiaoming'})
db.user.find({$and:[{age:{$eq:30}},{name:{$eq:'xiaoming'}}]})
db.user.find({$or:[{age:18},{name: 'ls'}]})
db.user.find({age:{$in:[18,20]}})
db.user.find({age:{$nin:[18,20]}})
db.user.find().limit(3) 分页显示,一页显示3行
db.user.find().limit().count() 统计所有记录数
db.user.find({age:30}).limit().count() 统计年龄等于30的记录数
更新db.stu.update({title: 'python01'},{$set:{title: 'mongo'}})
db.stu.update({age: {$gt:30}},{$set:{age: 30}})
删除文档 db.stu.remove({name: '老王'})
MongoDB AND 条件
MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件。
语法格式如下:
>db.col.find({key1:value1, key2:value2}).pretty()
MongoDB OR 条件
AND 和 OR 联合使用
MongoDB $type 操作符
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果
MongoDB Limit() 方法
如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
MongoDB Skip() 方法
我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
MongoDB sort()方法
在MongoDB中使用使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。