mongo與mysql的語法區分

2021-12-30 12:46:35 字數 3597 閱讀 1403

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...