iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MongoDB DBA常用的NoSQL语句 参考学习
  • 560
分享到

MongoDB DBA常用的NoSQL语句 参考学习

摘要

  查看帮忙命令   > hlep  --server级别 > db.help()  --db级别 > db. collectionname . help()   --集合级别     查看所有数据库   >show dbs


	MongoDB DBA常用的NoSQL语句 参考学习
[数据库教程]

 

查看帮忙命令

 


>
hlep  --server级别

> db.help()  --db级别
> db. collectionname . help()   --集合级别

 

 

查看所有数据库

 

>show dbs

--新建的数据库并不在数据库的列集合中,要显示它,我们需要向新建的数据库创建集合。

 

 

查看当前数据库

 

>db

 

 

创建数据库

 

>
use DATABASE_NAME

 


切换到某个数据

 

>
use DATABASE_NAME

 


删除当前数据库,会把磁盘上的数据库文件一并删除

 

>
db
.dropDatabase()

 


修复数据库

 

> 
db
.repairDatabase()

 


拷贝数据库test为test999

 


>
 db.copyDatabase(
‘test‘,
‘test999‘)

 


查看所有集合(关系型数据库叫表)

 


>
show collections

> show tables

 

 

查看各集合的状态

 

> 
db
.printCollectionStats()

 

 

新建集合

 

 

db.createCollection(
"集合名", {集合的大小属性:大小值,集合的增长属性:增长值,集合的最大容量属性:最大容量值,,,等等})

>db.createCollection( "table1")

 

 

删除集合table1

 

>
db
.table1
.drop()

 


重命名集合table1为table101

 

>
db
.table1
.renameCollection("
table101")

 

 

查看集合table1的所在的数据库名称

 

>
db
.table1
.getDB()

 


查看集合table1的状态

 

db
.table1
.stats()

 


查询集合

 

>db.table1.
find() 
--查询集合的所有数据


>db.table1.findOne()  --查询集合的第一条数据

>db.table1.count()  --总行数

>db.table1.totalSize()  --集合的总大小

>db.table1.storageSize()  --集合的储存空间大小

>db.table1.distinct( "hid")  --只查询列hid,并列出该列的不重复的值

>db.table1. find({ "hid": 2})  --hid=2

>db.table1. find({ "hid": 2, "hid2": 3})  --hid=2 and hid2=3

>db.table1. find({$ or:[{ "hid": 2},{ "hid2": 3}]})  --hid=2 or hid2=3

>db.table1. find({ "hid":{$gt: 1}})  --hid>1

>db.table1. find({ "hid":{$gte: 1}})  --hid>=1

>db.table1. find({ "hid":{$lt: 2}})  --hid<2

>db.table1. find({ "hid":{$lte: 2}})  --hid<=2

>db.table1. find({ "hid":/ 2/})  --hid like ‘%2%‘

>db.table1. find({ "hid":/^ 2/})  --hid like ‘2%‘

>db.table1. find({},{ "hid": 1, "Go2": 1})  --查询指定的两列hid和go2

>db.table1. find({ "hid": 23},{ "hid": 1, "go2": 1})  --select hid,go2 from table1 where hid=23

>db.table1. find({},{ "hid": true, "go2": true}) --查询指定的两列hid和go2

>db.table1. find({ "hid": 23},{ "hid": true, "go2": true}) --select hid,go2 from table1 where hid=23

>db.table1. find(). sort({ "hid": 1})  --查询结果按hid字段顺序排序

>db.table1. find(). sort({ "hid": -1})  --查询结果按hid字段降序排序

>db.table1. find().limit( 2)  --查询前两条数据

>db.table1. find().skip( 2)  --查询第2条以后的所有数据

>db.table1. find().limit( 3).skip( 2)  --查询第2条以后的后面3条数据

>db.table1. find({ "hid": 2}).count()  --查询hid=2的总行数

 

 

插入集合(关系型数据库叫行,mongoDB叫文档,insert后不需要手工提交,其他会话可以看到)

方法1 

 

db.collectionname.
insert({字段名: 
"字段值"})


>db.table1. insert({hid: "1"})

 


方法2

 

db.集合名.save({字段名: 
"字段值"})


>db.table1.save({hid: 2,hname: "hao2"})

循环插入table1集合

for ( var i =  0; i <  30; i++) db.table1.save({hid:  "u_" + i, age:  22 + i, sex: i %  2});

 

 

更新集合( 关系型数据库叫行,mongodb叫文档 )

 

>db.table1.update({
‘hid‘:2},{
$set:{
‘hid‘:4}},{multi:
true})


把hid字段的值由2修改为4

update默认修改第一条发现的行,multi: true集合示修改多行

 

 

删除集合( 关系型数据库叫行,mongodb叫文档 )

 

>db.table1.
remove({
‘hid2‘:
5}) 
--删除hid2为5的行


>db.table1. remove({})  --删除所有行

 

 

创建索引

 

创建索引后,数据库目录下会多出一个index-开头的文件

 

>db.table1.ensureIndex({
"hid"
:
1})


>db.table1.ensureIndex({ "hid" : 1, "hid2" :- 1},{ unique: true});

1表示升级排序,- 1表示降序排序, "hid" : 1, "hid2" :- 1表示组合索引, unique: true表示唯一性索引

 

 

查看集合table1的索引信息

 

>
db
.table1
.getIndexes()

 


删除集合table1的索引

 

>
db
.table1
.dropIndexes()

 


创建用户

 

>
db
.createUser({
user:
"admin",pwd:
"admin",roles:[{role:
"userAdminAnyDatabase",db:
"admin"}]});


> db .createUser({ user: "admin1",pwd: "admin1",roles:[{role: "root",db: "admin"}]});

 

 

查询用户的三种方法

 

 

>
use 
admin  


> show  users 

> db .system .users .find()

> db .system .users .find() .pretty()

 

 

查询当前用户

 


db
.runCommand({
connectionStatus:
1})

 

 

创建replicate的语句,创建replicate前,两个节点启动的时候必须要加上replSet参数,且replSet参数值必须一样,例如为replicate1

 

 


>
use admin


> config={_id: ‘replicate1‘,members:[{_id:0,host: ‘172.22.1.157:27017‘},{_id:1,host: ‘172.22.1.158:27017‘}]}

> rs.initiate(config)

> rs.status(config)

> rs.status()

> show dbs

再到从库执行如下

> rs.slaveOk()

> show dbs

 

 

查看replicate复制状态

 

> 
db
.printReplicationInfo()

 

 

查询集合table1的shard版本信

 

>
db
.table1
.getShardVersion()

 

 

查看shard分片信

 

>
db
.printShardingStatus()

 

 

启动

 

使用mongod命令,后面接各项参数

mongod -f /mongodb/mongodb.conf

 

 

关闭

方法1、

 

 


use 
admin

db.shutdownServer()

 

 

方法2、(如果启动用了-f,则关闭的时候也要加-f)

 

 

mongod --
shutdown


mongod -- shutdown -f /mongodb/mongodb.conf

 


方法3、(不要加-9,否则下次启动会无法启动,需要删除mongod.lock文件或使用mongod启动时必须加上--repair才能启动成功)

 


kill ID>

 


mongodb切换日志

运行时间长了,mongodb的日志会很大,可以执行切换,生成新的日志,把旧的日志删除,执行这个语句,不影响mongodb服务的运行

 

 

use 
admin


db .runCommand({ logRotate: 1})

 


执行后,会生成新的名称不变的日志文件,之前的日志会以时间格式命名保存下来

如果是replicate环境,不会影响replicate,primary执行这个语句只切换自己的日志,不影响secondary环境的服务,也不会切换secondary环境的日志;secondary执行这个语句只切换自己的日志,不影响primary环境的服务,也不会切换primary环境的日志

mongodb的日志文件,重启后还在,且会把重启涉及的关闭启动信息追加到这个日志文件中

--原文地址:Http://blog.itpub.net/30126024/viewspace-2645995/

MongoDB DBA常用的NoSQL语句 参考学习

原文地址:https://www.cnblogs.com/daizhengyang/p/13384169.html

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB DBA常用的NoSQL语句 参考学习

本文链接: https://www.lsjlt.com/news/7516.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么显示表的字段
    如何显示 oracle 表的字段 在 Oracle 数据库中,可以使用 DESC 命令显示表的字段。 语法: DESC table_name 参数: table_name:要显示字段的表...
    99+
    2024-05-14
    oracle
  • oracle怎么看所有的表
    在 oracle 数据库中查看所有表的步骤:连接到数据库运行查询:select table_name from user_tables; 如何使用 Oracle 查看所有表 ...
    99+
    2024-05-14
    oracle
  • oracle怎么显示行数
    如何使用 oracle 显示行数 在 Oracle 数据库中,有两种主要方法可以显示行数: 1. 使用 COUNT 函数 SELECT COUNT(*) FROM table_n...
    99+
    2024-05-14
    oracle
  • oracle怎么显示百分比
    oracle中显示百分比的方法有:使用百分号“%”;使用to_char()函数;使用format()函数(oracle 18c及更高版本);创建自定义函数。 Oracle 显...
    99+
    2024-05-14
    oracle
  • oracle怎么删除列
    oracle 中删除列的方法有两种:1)使用 alter table table_name drop column column_name 语句;2)使用 drop colum...
    99+
    2024-05-14
    oracle
  • sql怎么查看表的索引
    通过查询系统表,可以获取表的索引信息,包括索引名称、是否唯一、索引类型、索引列和行数。常用系统表有:mysql 的 information_schema.statistics、postg...
    99+
    2024-05-14
    mysql oracle
  • sql怎么查看索引
    您可以使用 sql 通过以下方法查看索引:show indexes 语句:显示表中定义的索引列表及其信息。explain 语句:显示查询计划,其中包含用于执行查询的索引。informat...
    99+
    2024-05-14
  • sql怎么查看存储过程
    如何查看 sql 存储过程的源代码:使用 show create procedure 语句直接获取创建脚本。查询 information_schema.routines 表的 routi...
    99+
    2024-05-14
  • sql怎么查看视图表
    要查看视图表,可以使用以下步骤:使用 select 语句获取视图中的数据。使用 desc 语句查看视图的架构。使用 explain 语句分析视图的执行计划。使用 dbms 提供...
    99+
    2024-05-14
    oracle python
  • sql怎么查看创建的视图
    可以通过sql查询查看已创建的视图,具体步骤包括:连接到数据库并执行查询select * from information_schema.views;查询结果将显示视图的名称、...
    99+
    2024-05-14
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作