操作类型
| MySQL
| SQL Server
| Redis
| MongoDB
|
创建数据库 | CREATE DATABASE db_name;
| CREATE DATABASE db_name;
| 不适用(Redis 是键值存储,没有传统数据库概念)
| use db_name; (切换到指定数据库,如果不存在会自动创建)
|
创建表/集合 | CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
| CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
| 不适用(Redis 没有表概念,只有键值对)
| db.createCollection("collection_name");
|
插入数据 | INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
| INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
| SET key value (简单键值对)<br>HMSET key field1 value1 field2 value2 (哈希类型)<br>RPUSH key value1 value2 (列表类型)
| db.collection_name.insertOne({field1: value1, field2: value2}); <br>db.collection_name.insertMany([{field1: value1, field2: value2}, {field1: value3, field2: value4}]);
|
查询数据 | SELECT * FROM table_name WHERE condition;
| SELECT * FROM table_name WHERE condition;
| GET key (简单键值对)<br>HGETALL key (哈希类型)<br>LRANGE key start stop (列表类型)
| db.collection_name.find({condition}).pretty();
|
更新数据 | UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
| UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
| SET key value (覆盖键值对)<br>HSET key field value (更新哈希字段)
| db.collection_name.updateOne({condition}, {$set: {field1: value1, field2: value2}}); <br>db.collection_name.updateMany({condition}, {$set: {field1: value1, field2: value2}});
|
删除数据 | DELETE FROM table_name WHERE condition;
| DELETE FROM table_name WHERE condition;
| DEL key (删除键)<br>HDEL key field1 field2 (删除哈希字段)<br>LREM key count value (删除列表中的值)
| db.collection_name.deleteOne({condition}); <br>db.collection_name.deleteMany({condition});
|
备份数据库 | mysqldump -u username -p db_name > backup.sql
| BACKUP DATABASE db_name TO DISK = 'path\backup.bak';
| 不适用(Redis 有 RDB 和 AOF 持久化机制,但不是传统备份命令)
| mongodump --db db_name --out backup_directory
|
恢复数据库 | mysql -u username -p db_name < backup.sql
| RESTORE DATABASE db_name FROM DISK = 'path\backup.bak';
| 不适用(Redis 通过加载 RDB 文件或 AOF 文件恢复数据)
| mongorestore --db db_name backup_directory/db_name
|
查看数据库列表 | SHOW DATABASES;
| SELECT name FROM sys.databases;
| 不适用(Redis 没有传统数据库概念)
| show dbs;
|
查看表/集合列表 | SHOW TABLES;
| SELECT name FROM sys.tables;
| 不适用(Redis 没有表概念)
| show collections;
|
查看数据表结构 | DESCRIBE table_name; <br>SHOW COLUMNS FROM table_name;
| EXEC sp_help table_name;
| 不适用(Redis 没有表概念)
| 不适用(MongoDB 集合是无模式的,没有固定结构)
|
删除表/集合 | DROP TABLE table_name;
| DROP TABLE table_name;
| 不适用(Redis 没有表概念)
| db.collection_name.drop();
|
删除数据库 | DROP DATABASE db_name;
| DROP DATABASE db_name;
| 不适用(Redis 没有传统数据库概念)
| 不适用(MongoDB 数据库删除需要删除其目录或使用 db.dropDatabase() 删除整个数据库) |