mysql与mongoDB常用命令

操作
 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()

新加表/集合中的某个字段

 ALTER TABLE 表名 add 字段 VARCHAR(100)  COMMENT "出自于哪个作者" AFTER article;  

删除表/集合中的某个字段

 ALTER TABLE 表名 DROP COLUMN 字段  

备份表/集合

mysqldump -u root -p databaseName > H: estbak est.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

  

原文地址:https://www.cnblogs.com/ygunoil/p/13628300.html