mongo與mysql的語法區分。最近剛剛學習完mysql,現在又在學習mongodb,都說語言是想通的,其實資料庫也是大同小異。在此做乙個對比,方便小白使用者學習。(參考mongo的api)
1.名稱的區分
mysqlmongodb
database(資料庫)database(資料庫)
table(**)collection(集合)
row(行)document(文件)
column(列)field(域)
index(索引)index(索引)
table joins(表)
primary key(主鍵),可以自定義primary key(主鍵),一般是"_id"
2.語法的區分
建立mysqlmongodb
create table users ( id mediumint not null auto_increment, user_id varchar(30), age number, status char(1), primary key (id) )db.users.insert( ) 或者是: db.createcollection("users")
alter table users add join_date datetimedb.users.update( , }, )
alter table users drop column join_datedb.users.update( , }, )
create index idx_user_id_asc on users(user_id)db.users.createindex( )
create index idx_user_id_asc_age_desc on users(user_id, age desc)db.users.createindex( )
drop table users
db.users.drop()
插入mysqlmongodb
insert into users(user_id,
age, status) value("bcd001", 45, "a")
db.users.insert(
查詢mysqlmongodb
select *
from users
db.users.find()
select id,
user_id,
status
from users
db.users.find(
select user_id, status
from users
db.users.find(
select *
from users
where status = "a"
db.users.find(
select user_id, status
from users
where status = "a"
db.users.find(
,select *
from users
where status != "a"
db.users.find(
}select *
from users
where status = "a"
and age = 50
db.users.find(
select *
from users
where status = "a"
or age = 50
db.users.find(
, ] }
select *
from users
where age > 25
db.users.find(
}select *
from users
where age < 25
db.users.find(
}select *
from users
where age > 25
and age <= 50
db.users.find(
}select *
from users
where user_id like "%bc%"
db.users.find( )
select *
from users
where user_id like "bc%"
db.users.find( )
select *
from users
where status = "a"
order by user_id asc
db.users.find( ).sort( )
select *
from users
where status = "a"
order by user_id desc
db.users.find( ).sort( )
select count(*)
from users
db.users.count()
或者db.users.find().count()
select count(user_id)
from users
db.users.count( } )
ordb.users.find( } ).count()
select count(*)
from users
where age > 30
db.users.count( } )
ordb.users.find( } ).count()
select distinct(status)
from users
db.users.distinct( "status" )
select *
from users
limit 1
db.users.findone()
ordb.users.find().limit(1)
select *
from users
limit 5
skip 10
db.users.find().limit(5).skip(10)
explain select *
from users
where status = "a"
db.users.find( ).explain()
更新mysqlmongodb
update users
set status = "c"
where age > 25
db.users.update(
}, },
update users
set age = age + 3
where status = "a"
db.users.update(
, },
刪除mysqlmongodb
delete from users
where status = "d"
db.users.remove( )
delete from users
db.users.remove({})
mongo較mysql的好處
假象我們在製作乙個電子商務 如果我們使用關係型資料庫,比如說mysql,那麼乙個product我們將會分別在幾個表中儲存,如果我們想要獲得乙個產品的全部資訊,就不得不做很多的join,所以在設計資料庫時候我們就需要考慮資料最好以什麼樣的結構來儲存。但是如果我們使用非關係型資料庫,比如說mongo,我...
mysql 與 mongo 資料庫的優缺點
1.mysql的特點和優劣 特點 可以同時處理幾乎不限數量的使用者 處理多達50000000以上的記錄 命令執行速度快,也許是現今最快的 簡單有效的使用者特權系統 優點 源 的可移植性 支援的作業系統多 為多種程式語言提供api 介面 開源 支援多種儲存引擎 等等。缺點 關係表的不靈活性 儲存引擎混...
mysql與mongo資料庫 環境搭建
1 ubuntu環境下安裝與配置 安裝mysql 1 sudoapt get install mysql server 安裝過程中會要求輸入使用者密碼。也可以手動設定登陸使用者密碼,在終端輸入 mysql u root p 接下來會提示你輸入密碼,輸入正確密碼,即可進入。2 sudo apt get...