时间:2021-07-01 10:21:17 帮助过:30人阅读
直接执行insert操作即可,如果表不存在,自动创建
db.people.insertOne( {
user_id: "abc123",
age: 55,
status: "A"
} )
也可以用一下语句创建collection
db.createCollection("people")
ALTER TABLE people
ADD join_date DATETIME
db.people.updateMany(
{ },
{ $set: { join_date: new Date() } }
)
ALTER TABLE people
DROP COLUMN join_date
db.people.updateMany(
{ },
{ $unset: { "join_date": "" } }
)
CREATE INDEX idx_user_id_asc
ON people(user_id)
db.people.createIndex( { user_id: 1 } )
CREATE INDEX
idx_user_id_asc_age_desc
ON people(user_id, age DESC)
db.people.createIndex( { user_id: 1, age: -1 } )
DROP TABLE people
db.people.drop()
三、insert语句的对比
SQL INSERT Statements | MongoDB insertOne() Statements |
---|---|
INSERT INTO people(user_id,
age,
status)
VALUES ("bcd001",
45,
"A")
|
db.people.insertOne(
{ user_id: "bcd001", age: 45, status: "A" }
)
|
四、select语句的对比
SQL SELECT Statements | MongoDB find() Statements |
---|---|
SELECT *
FROM people
|
db.people.find()
|
SELECT id,
user_id,
status
FROM people
|
db.people.find(
{ },
{ user_id: 1, status: 1 }
)
|
SELECT user_id, status
FROM people
|
db.people.find(
{ },
{ user_id: 1, status: 1, _id: 0 }
)
|
SELECT *
FROM people
WHERE status = "A"
|
db.people.find(
{ status: "A" }
)
|
SELECT user_id, status
FROM people
WHERE status = "A"
|
db.people.find(
{ status: "A" },
{ user_id: 1, status: 1, _id: 0 }
)
|
SELECT *
FROM people
WHERE status != "A"
|
db.people.find(
{ status: { $ne: "A" } }
)
|
SELECT *
FROM people
WHERE status = "A"
AND age = 50
|
db.people.find(
{ status: "A",
age: 50 }
)
|
SELECT *
FROM people
WHERE status = "A"
OR age = 50
|
db.people.find(
{ $or: [ { status: "A" } ,
{ age: 50 } ] }
)
|
SELECT *
FROM people
WHERE age > 25
|
db.people.find(
{ age: { $gt: 25 } }
)
|
SELECT *
FROM people
WHERE age < 25
|
db.people.find(
{ age: { $lt: 25 } }
)
|
SELECT *
FROM people
WHERE age > 25
AND age <= 50
|
db.people.find(
{ age: { $gt: 25, $lte: 50 } }
)
|
SELECT *
FROM people
WHERE user_id like "%bc%"
|
db.people.find( { user_id: /bc/ } )
-or- db.people.find( { user_id: { $regex: /bc/ } } )
|
SELECT *
FROM people
WHERE user_id like "bc%"
|
db.people.find( { user_id: /^bc/ } )
-or- db.people.find( { user_id: { $regex: /^bc/ } } )
|
SELECT *
FROM people
WHERE status = "A"
ORDER BY user_id ASC
|
db.people.find( { status: "A" } ).sort( { user_id: 1 } )
|
SELECT *
FROM people
WHERE status = "A"
ORDER BY user_id DESC
|
db.people.find( { status: "A" } ).sort( { user_id: -1 } )
|
SELECT COUNT(*)
FROM people
|
db.people.count()
or db.people.find().count()
|
SELECT COUNT(user_id)
FROM people
|
db.people.count( { user_id: { $exists: true } } )
or db.people.find( { user_id: { $exists: true } } ).count()
|
SELECT COUNT(*)
FROM people
WHERE age > 30
|
db.people.count( { age: { $gt: 30 } } )
or db.people.find( { age: { $gt: 30 } } ).count()
|
SELECT DISTINCT(status)
FROM people
|
db.people.distinct( "status" )
|
SELECT *
FROM people
LIMIT 1
|
db.people.findOne()
or db.people.find().limit(1)
|
SELECT *
FROM people
LIMIT 5
SKIP 10
|
db.people.find().limit(5).skip(10)
|
EXPLAIN SELECT *
FROM people
WHERE status = "A"
|
db.people.find( { status: "A" } ).explain()
|
五、update语句的对比
SQL Update Statements | MongoDB updateMany() Statements |
---|---|
UPDATE people
SET status = "C"
WHERE age > 25
|
db.people.updateMany(
{ age: { $gt: 25 } },
{ $set: { status: "C" } }
)
|
UPDATE people
SET age = age + 3
WHERE status = "A"
|
db.people.updateMany(
{ status: "A" } ,
{ $inc: { age: 3 } }
)
|
六、delete语句的对比
SQL Delete Statements | MongoDB deleteMany() Statements |
---|---|
DELETE FROM people
WHERE status = "D"
|
db.people.deleteMany( { status: "D" } )
|
DELETE FROM people
|
db.people.deleteMany({})
|
MongoDB学习第七篇 --- sql和mongodb对比
标签:drop insert tom god 学习 let bin size ica