一、数据库db
1. 创建数据库:
语法:use 数据库名(现在还无法查看到数据库,这里的use和mysql中的不一样,是创建的意思)
#创建数据库test1
use test1
2. 查看数据库:
语法:show dbs(刚刚创建的数据库在数据库中没有内容的时候是查不到的)
#查看所有数据库
show dbs
3. 创建集合:
语法:db.createCollection(‘集合名’) (集合相当于mysql中的表)
#创建集合col1
db.createCollection('col1')
4. 查看数据库中的集合:
语法:show collections
#查看集合
show collections
5. 删除集合:
语法:db.集合名.drop()
#删除集合col1
db.col1.drop()
6. 删除数据库:
语法:db.dropDatabase()
#删除正在使用的数据库
db.dropDatabase()
二、数据类型
1. number
Eg:int 20、float 2.3
2. string
Eg:‘张三’
3. list
Eg:[123,‘str’,[3,4]]
4. tuple
Eg:(1,2,3)
5. dict
Eg:{key1:value1,key2:value2}
三、集合的增删改查
1. insert
1.1 插入一条数据
语法:db.集合名称.insert(字典)
>db.mycol.insert({name:'李四',age:25,sex:'男'})
>db.mycol.insert({
name:'王舞',
age:20,
sex:'女'
})
1.2 插入多条数据
语法:db.集合名.insert([字典1,字典2])
>db.mycol.insert([
{name:'赵六',age:30},
{name:'孙七',age:40}
])
***注意:如果db.集合名n.insert() 本身集合名n不存在,会自动创建并执行insert
2. update
2.1 更新数据
语法:db.collectionName.update({筛选条件},{更新的数据})
>db.mycol.update(
{name:'李四'},
{$set:{'sex':'女'}}
)
2.2 更新多条数据
语法:db.collectionName.update({筛选条件},{更新的数据},{multi:true})
>db.mycol.update(
{age:20},
{$set:{sex:'中',tel:120}},
{multi:true}
)
2.3 存储
语法:db.collectionName.save({})
>db.mycol.save({name:'钱八'})
2.4 指明存到哪个地址上
>db.mycol.save(
{'_id':ObjectId("5e211a19b5607f8ae3a56a22"),name:'七娃',weapon:'葫芦'}
)
3. remove
3.1 删除数据
语法:db.collectionName.remove({筛选条件},1或true) (有1或true,则删一条,没有删全部)
>db.mycol.remove({name:'张三'})
>db.mycol.remove({name:'赵六'})
>db.mycol.remove({}) 删除所有
>db.mycol.remove({},1) 删除第一条,不考虑条件
4. find
4.1 查询
语法:db.集合名.find({name:‘张三’})
db.集合名.find({})
db.集合名.find().pretty() 好看的查询集合内容
>db.mycol.find()
>db.mycol.find()
>db.mycol.find().pretty()
4.2 与数字相关的
$gt (greater than) >
$lt (less than) <
$gte (greater than and equal) >=
$lte (less than and equal) <=
$ne (not equal) !=
#查询年龄大于25的
>db.mycol.find({age:{$gt:25}})
>db.mycol.find({age:{$lt:25}})
>db.mycol.find({age:{$ne:25}})
4.3 多条件查询
#and
语法:db.mycol.find({key1:value1,key2:value2,…})
>db.mycol.find({age:20,sex:'中'})
#or
语法:db.mycol.find({$or:[{key1:value1},{key2:value2},…]})
>db.mycol.find({
$or:[
{ name:'张三'},
{age:{$gte:30}}
]
})
#and+or
>db.mycol.find({
sex:'男',
$or:[
{age:{$lt:25}},
{age:{$gt:30}}
]
})
4.4 跳过数据查询
语法:db.mycol.find().skip(n)
>db.mycol.find().skip(3)