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 }
)
または
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” }
{ 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
{ 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