nosqll - MongoDB 文件型数据库
文件型 - MongoDB
User:
[
{id:1,name:'蔡文姬',age:16,gender:'女'},
{id:2,name:'嫦娥',age:16,gender:'女'},
{id:3,name:'西施',age:16,gender:'女'},
]
关系型(拉里艾莉森) - MySQL MSSQL(SQLServer微软,Windows) Sybase ORACLE(MySQL被收编)(虽然是免费的,有问题,付费) DB2+AUX(IBM)
1 . 把精力放在重要的逻辑上,细节,记住他怎么用就行! 会了逻辑,才有信心往后看。
士别三日当刮目相待-吴下阿蒙
2 . 不要等,主动去找事情做。
MySQL MS - MySQL Ux
User:
建表 ID (int 自增 主键) name age gender
为什么开发 MongoDB呢,关系型的不好吗?
之前的服务器级别的空间是20G,硬盘是8G,空间很小。内存8M。
缺点:查找速度不快(之前,现在告诉硬盘14400转快了),占用空间还非常大。
优点:
主要是数据格式是JSON,方便传输。
而且操作简单方便移动更加接近程序员操作(打点操作)原生语法 ORM
因为非关系型数据库,没有结构限制(),扩展性极强
MongoDB数据越多,存储数据比别的数据库,占用的空间越高 ? (数据少的时候差不多)
1.安装MongoDB
只卖服务不卖数据库
4版本比3版本多了个事务,还做得不是很好
程序员读懂:exception: connect failed
连接成功的话,cmd窗口会夯住
三个数据库默认端口
29 Data directory C:datadb not found., terminating
新建C:datadb 可以的,但是200m太大了,查看帮助,新建到d盘,加到路径下
CMD-
dbpath 数据库存在路径(必须存在)
mongod --dbpath D:MongoDBdatadb
2 . 基本操作命令
use locall 没有也可已进去
db.user.insert({name:'Alexander'}) show databases 就有了数据库和表
MongoDB的特性 : 使用不存在的对象即创建该对象 (类似于python中的__setattr__)
3 增删改查
结果
如果已安装pip,执行即可。
4. MongoDB 数据类型
object 嵌套3级就好,套的再多了 就很慢
5 数学比较符
db.stu.find({age:{$lt:10}})
db.stu.find({age:{$lt:10}}) #并列条件查询
6 $ 修改器+ $字符特殊用法
MongoDB中的那些个update修改器: $inc $set $unset $push $pull
$set 修改某个字段的值
$unset 删除字段的值 db.stu.update({name:'self'},{$unset:{mytime:1}},)
$inc 引用增加 先引用 后增加
db.stu.update({},{$inc:{age:1}}) #update只第一个人 +1
db.stu.update({},{$inc:{age:-1}}) #年龄加 -1
针对Array == list操作
$push == append()
$pushAll == extend()
$pull == remove()
$pop (=) pop()
hobby.$' 符合前面的值的下标位置
db.stu.update({'hobby':'5'},{$set:{'hobby.4':'五'}}) #4是下标,这是已知的,不知道的呢? 看下面---->
db.stu.update({'hobby':'5'},{$set:{'hobby.$':'五'}})
7.object 操作
首先要有这个表 (用.取属性)
db.stu.update({name:'小黑'},{$set:{'hobby.抽烟':'1包'}})
object 还是 Aerry 有.属性
db.stu.update({name:'小白','package.name':'绝世好剑'},{$inc:{'package.$.count':-1}})
Array+Object
$字符特殊用法
上午的MongoDB语法
查询关键字
8 . 官方给出的推荐增删改查版本
新版3.2之后
增
官方不推荐使用insert了
db.stu.insertOne({name:'6666'}) #只能插入字典
db.stu.insertMany([{name:777},{name:888}])
增加数据的_id ObjectId
增加数据的_id ObjectId 列表 [objectId,objectId]
查
db.tablename.findOne({查询条件}) #返回json数据(不似转)
改
db.tabelname.updateOne({{name:'458'}},{'$set':{修改属性}})
db.tabelname.updateMany({{name:'458'}},{'$set':{修改属性}}) #修改符合条件的所有数据
删
官方不推荐使用remove了
3.2
9 . 排序 + 选取 + 跳过
排序:db.stu.find().sort({age:-1}) 1 正序 -1 倒叙
选取:db.stu.find().limit(2) 选取两条数据
跳过:db.stu.find().skip(2) 跳过前两条数据
中间两条 or 跳过前N条
db.stu.find().sort({age:-1}).skip(2).limit(2) #分页
先排序 - 后跳过 - 选取 #limit最后那个 默认的
10 . python操作MongoDB
mysql 做不到,一列列的,MongoDB是字典的,好操作
pop 本来就是从后往前删,所以1,正序,就是从后往前,-1就是从前往后
作业:今天晚上+明天上午
错误 1
TypeError: unhashable type: 'dict'
多加了个括号 , 错误:{{}} {} ~= get({})
错误 ; [] 是因为查错了表,那个表里没有那个内容的
list 可以显示出所有的表里的内容,如果没有,应该是自己没写别的内容 已经有2个,就不止是一个的。很多应该可以
存下mongDB的值
python操作 MongoDB
到此这篇goldendb数据库语法(db2数据库语法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/16891.html