| 顯示庫 | SHOW DATABASES; | SHOW DBS; |
| 顯示表/集合 | SHOW TABLES; | SHOW COLLECTIONS; |
| 創建表/集合 | CREATE TABLE t (a INT, b INT); | db.createCollection("coll", {capped:true, size:100000}); 隱式創建 |
| 創建索引 | CREATE INDEX idx ON t(a); | db.coll.ensureIndex({a:1}); -- 1升序 -1降序 |
| 複合索引 | CREATE INDEX idx ON t(a,b DESC); | db.coll.ensureIndex({a:1, b:-1}); |
| 插入 | INSERT INTO t VALUES(1,1); | db.coll.insert({a:1, b:1}); |
| 全量查詢 | SELECT * FROM t; | db.coll.find(); |
| 投影查詢 | SELECT a,b FROM t; | db.coll.find({}, {a:1, b:1}); |
| 等值查詢 | SELECT * FROM t WHERE age=33; | db.coll.find({age:33}); |
| 範圍查詢 | WHERE age>33 AND age<=40 | db.coll.find({age:{$gt:33, $lte:40}}); |
| 多條件 AND | WHERE a=1 AND b='q' | db.coll.find({a:1, b:'q'}); |
| 多條件 OR | WHERE a=1 OR b=2 | db.coll.find({$or:[{a:1},{b:2}]}); |
| 模糊查詢 | LIKE '%Joe%' | db.coll.find({name:/Joe/}); -- 正則 |
| 前綴查詢 | LIKE 'Joe%' | db.coll.find({name:/^Joe/}); |
| 計數 | SELECT COUNT(1) FROM t; | db.coll.count(); |
| 條件計數 | WHERE age>30 | db.coll.find({age:{$gt:30}}).count(); |
| 去重 | SELECT DISTINCT col FROM t; | db.coll.distinct('col'); |
| 排序 | ORDER BY name DESC | db.coll.find().sort({name:-1}); |
| 分頁 | LIMIT 10 OFFSET 20 | db.coll.find().skip(20).limit(10); |
| 執行計劃 | EXPLAIN SELECT ... | db.coll.find({...}).explain(); |
| 更新 | UPDATE t SET a=1 WHERE b='q' | db.coll.update({b:'q'}, {$set:{a:1}}, false, true); |
| 增量更新 | UPDATE t SET a=a+2 WHERE b='q' | db.coll.update({b:'q'}, {$inc:{a:2}}, false, true); |
| 刪除 | DELETE FROM t WHERE z='abc' | db.coll.remove({z:'abc'}); |
| 清空集合 | TRUNCATE TABLE t; | db.coll.remove({}); |
| 刪除庫 | DROP DATABASE db; | use db; db.dropDatabase(); |
| 刪除表/集合 | DROP TABLE t; | db.coll.drop(); |