操作 |
mysql
|
MongoDB |
连接数据库 |
mysql -h 地址 -u 用户名 -p密码 | 打开mongo自动连接本地 |
查看主机上的所有数据库 |
show databases; | show dbs |
使用或转到新建某数据库 |
use dbName;/ create database dbName; | use dbName |
查看当前数据库中的所有表/集合 |
show tables; | db.getCollectionNames() |
查看某个表/集合中的数据 |
select * from tableName; | db.collectionName.find() |
查看表结构 |
desc tableName; | |
向表/集合中插入一条或多条数据 |
insert into tableName valuses (属性值1,属性值2,属性值3,....) ,(属性值1,属性值2,属性值3,....) ,(属性值1,属性值2,属性值3,....) ....; | db.collectionName.insert([{},{},{}....]) |
|
||
新建数据库 |
create database databaseName | use dbName (需要创建一个集合,才能show出来) |
删除数据库 |
drop database databaseName | db.dropDatabase() |
备份数据库 复制数据库 |
||
恢复数据库 |
||
|
||
新建表/集合 |
create table tableName (‘id‘ int,‘‘ ,...,PRIMARY KEY (`id`)) | db.createCollection(‘collectionName‘) |
删除表/集合 |
drop table tableName | db.collectionName.drop() |
备份表/集合 |
mysqldump -u root -p databaseName > H:\testbak\test.sql
|
mongodump -h dbhost -d dbname -o dbdirectory |
恢复表/集合 |
mysql -u root -p [数据库名称] < filename.sql | mongorestore -h <hostname><:port> -d dbname <path> |
|
||
改数据库名 |
RENAME database olddbname TO newdbname (最好用脚本)
|
db.adminCommand({renameCollection: "db1.test1", to: "db2.test2"}) |
|
||
改表/集合名 |
rename olddb.tables to newdb.tables |
db.orders.renameCollection( "orders2014" ) 或 db.runCommand( { renameCollection: "test.orders", to: "test.orders2014" } |
改表/集合中的数据 |
update tableName set 属性名=属性值,属性名=属性值,属性名=属性值..... where ‘条件‘ truncate table tableName alter |
db.collectionName.update({条件},{修改}) update |
删除表/集合中的数据 |
delete from tableName where ‘条件‘ | db.collectionName.remove({条件}) |
|
||
表连接-一张表可能不满足业务需求 |
select * from TableA cross join TableB
select * from TableA left join TableB on TableA.id=TableB.id
select * from TableA full join TableB on TableA.id=TableB.id
select * from TableA JOIN TableB on TableA.id=TableB.id
|
不支持 |
|
||
|
||
|
||
|
# 假设将sakila数据库名改为new_sakila # MyISAM直接更改数据库目录下的文件即可 mysql -uroot -p123456 -e ‘create database if not exists new_sakila‘ list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA=‘sakila‘") for table in $list_table do mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"done