MySQL和MongoDB對照表

术语

术语。

MySQL                MongoDB              databasesdatabasetablecollectionrowdocumentcolumnfield

指令

有关公式的信息,请查看此网址:https://docs.mongodb.com/manual/reference/sql-comparison/

MySQL                MongoDB                show databases;show dbscreate database new_db;use new_dbuse new_db;use new_dbshow tables;show collections
または
db.getCollectionNames()create table users (name varchar(20));db.createCollection(“users”)drop table usersdb.users.drop()desc users;なしinsert into users (name) values (“taro”);db.users.insertOne( { name: “hoge” } )update users
set name = “maro”
where name = “taro”;db.users.updateMany(
{ name: “taro” },
{ $set: { name: “maro” } }
)select * from users;db.users.find()select * from users order by name asc;db.users.find().sort( { name: 1 } )select * from users order by name desc;db.users.find().sort( { name: -1 } )select * from users limit 1;db.users.find().limit(1)select count(*) from users;db.users.count()select name from users where age = 90;db.users.find(
{ age: 90 },
{ name: 1 }
)

空和缺失的字段 hé de

针对MySQL,它是简单的。

MySQL                select * from users where age is null;select * from users where age is not null;

对于 MongoDB,由于存在 null 和 missing 两种情况,所以有点复杂。

users{ name: “100”,  age: 100 }
{ name: “null”,  age: null }
{ name: “missing” }
MongDB                  users.name  db.users.find( { age: null } )null, missingdb.users.find( { age: { $ne: null } } )100db.users.find( { age: { $exists: true } } )100, nulldb.users.find( { age: { $exists: false } } )missingdb.users.find( { \$and: [
{ age: { $exists: true } },
{ age: null }
] } )nulldb.users.find({ age: { $type: 10 } })nulldb.users.find( { age: { \$not: { $type: 10 } } } )100, missing

Docker – Docker

得益于Docker,每个环境可以立即可用。

$ docker run --name study-mysql --rm -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:8.0

$ docker exec -it study-mysql bash
root@51c68a47680f:/# mysql
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
$ docker run --name study-mongo --rm mongo:4.2

$ docker exec -it study-mongo bash
root@c2ab8e8878c3:/# mongo
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

图形用户界面

这个软件很常用吧。MongoDB Compass很容易使用。

    • Sequel Pro

 

    MongoDB Compass
广告
将在 10 秒后关闭
bannerAds