河南单位网站建设,如何推广自己产品,万一打仗哪个省最安全,虾皮这种网站根本不值得做关系型数据库如MySQL和非关系型数据库MongoDB的对应关系#xff1a;SQLMongoDBdatabasedatabasetablecollectionrowdocument or Bson documentcolumnfieldindexindextable joins$lookupprimary keyprimary key指定任何唯一的列或列组合作为主键主键会自动设置为_id字段aggrega…关系型数据库如MySQL和非关系型数据库MongoDB的对应关系SQLMongoDBdatabasedatabasetablecollectionrowdocument or Bson documentcolumnfieldindexindextable joins$lookupprimary keyprimary key指定任何唯一的列或列组合作为主键主键会自动设置为_id字段aggregation (group by)aggregation pipeline select into table$outmerge into table$mergeunion all$unionWithtransactionstransacctionsExampleCREATE TABLE people (id MEDIUMINT NOT NULLAUTO_INCREMENT,user_id Varchar(30),age Number,status char(1),PRIMARY KEY (id)
)Implicitly created on first insertOne() or insertMany() operation. The primary key _id is automatically added if _id field is not specified.db.people.insertOne( {user_id: abc123,age: 55,status: A} )ALTER TABLE people
DROP COLUMN join_date使用$set添加fielddb.people.updateMany({ },{ $set: { join_date: new Date() } }
)ALTER TABLE people
DROP COLUMN join_date使用$unset删除fielddb.people.updateMany({ },{ $unset: { join_date: } }
)创建索引CREATE INDEX idx_user_id_asc
ON people(user_id)db.people.createIndex( { user_id: 1 } )CREATE INDEXidx_user_id_asc_age_desc
ON people(user_id, age DESC)-1表示降序db.people.createIndex( { user_id: 1, age: -1 } )
DROP TABLE peopledb.people.drop()INSERT INTO people(user_id,age,status)
VALUES (bcd001,45,A)db.people.insertOne({ user_id: bcd001, age: 45, status: A }
)SELECT * FROM peopledb.people.find()SELECT id,user_id,status FROM peopledb.people.find({},{user_id:1,status:1})SELECT user_id,status FROM people//0表示不显示改行
db.people.find({},{user_id:1,status:1,_id:0})SELECT * FROM people WHERE statusAdb.people.find({status:A})SELECT user_id,status FROM people WHERE status Adb.people.find({status:A},{user_id:1,status:1,_id:0})SELECT * FROM people WHERE status ! Adb.people.find({status:{$ne:A}})SELECT * FROM people WHERE status A AND age50db.people.find({status:A,age:50})SELECT * FROM people OR age 50db.people.find({$or:[{status:A},{age:50}]})SELECT * FROM people WHERE age 25db.people.find({age:{$gte:25}})SELECT * FROM people WHERE age 25 AND age 50db.people.find({age:{$gt:25,$lte:50}})SELECT * FROM people WHERE user_id like %bc%db.people.find({user_id:/bc/} )
db.people.find({user_id:{$regex:/bc/}})SELECT * FROM people WHERE user_id LIKE %bcdb.people.find({user_id:/^bc/})
db.people.find({user_id:{$regex:/^bc/}})SELECT * FROM people WHERE status A ORDER BY user_id ASC
SELECT * FROM people WHERE status A ORDER BY user_id DESCdb.people.find({status:A}).sort({user_id:1})
db.people.find({status:A}).sort({user_id:-1})SELECT count(*) FROM peopledb.people.count() or
db.people.find().count() or
db.people.count({user_id:{$exists:true}})SELECT count(*) FROM people WHERE age30db.people.count({age:{$gt:30}})SELECT DISTINCT(status) FROM peopledb.people.distinct(status)SELECT * FROM people LIMIT 1db.people.findOne() or
db.people.find().limit(1)SELECT * FROM people LIMIT 5 SKIP 10db.people.find(().limit(5).skip(10)EXPLAIN SELECT * FROM people WHERE status Adb.people.find({status:A}).explain()