Rate this post

Bảng dưới đây trình bày các thuật ngữ và khái niệm SQL khác nhau, tương tự như thuật ngữ và khái niệm MongoDB.

Trong SQL, chúng ta có thể chỉ định bất kỳ kết hợp cột hoặc cột duy nhất nào làm khóa chính. Trong MongoDB, chúng ta không cần đặt khóa chính. Trường _id được tự động đặt thành khóa chính.

Xem thêm Sử dụng table trong React

Thuật ngữ cần thiết của SQL và MongoDB

SQL TermsMongoDB Terms
databaseDatabase
tableCollection
rowdocument hoặc BSON document
columnfield
indexindex
table joins$lookup, embedded document
primary keyprimary key
Trong SQL, chúng ta có thể chỉ định bất kỳ kết hợp cột hoặc cột duy nhất nào làm khóa chính.Trong MongoDB, chúng ta không cần đặt khóa chính. Trường _id được tự động đặt thành khóa chính.
aggregationaggregation pipeline
SELECT INTO NEW_TABLE$out
MERGE INTO TABLE$merge
transactionstransactions

Các ví dụ dưới đây đại diện cho các câu lệnh SQL khác nhau và các câu lệnh MongoDB tương tự.

Các ví dụ trong bảng giả sử các điều kiện sau:

Ví dụ SQL giả sử một tên bảng testDB

Các ví dụ MongoDB giả sử một collections có tên testDB chứa các tài liệu của nguyên mẫu sau:

{

  _id: ObjectId (“509a8fb2bd2f983a0”),

  user_id: “admin123”,

  tuổi 18,

  trạng thái: ‘A’

}

Tạo và thay đổi lệnh

Câu lệnh SQLCâu lệnh MongoDB
CREATE TABLE testDB( id MEDIUMINT NOT NULL AUTO_INCREMENT, user_id Varchar(20), age Number, status char(1), PRIMARY KEY (id) )db.createCollection ( ” testDB” )
ALTER TABLE testDB ADD join_date DATETIMEdb.testDB.updateMany( { }, { $set: { join_date: new Date() } } )
ALTER TABLE testDB DROP COLUMN join_datedb.testDB.updateMany( { }, { $unset: { “join_date”: “” } } )
CREATE INDEX idx_user_id_asc ON testDB( user_id )db.people.createIndex ( { user_id: 1 } )
CREATE INDEX idx_user_id_asc ON people (user_id)db.people.createIndex( { user_id: 123, age: 1} )
DROP TABLE peopledb.people.drop ()

Lệnh Insert trong SQL và MongoDB

SQL Insert statementMongoDB insert statement
INSERT INTO testDB(user_id, age, status) VALUES (“mongo”, 45, “A”)db.testDB.insertOne( { user_id: “mongo”, age: 18, status: “A” } )

Lệnh chọn SQL và Mongo DB

SQL SELECT Statement MongoDB find() Statement
SELECT *
FROM testDB
db.testDB.find()
SELECT id, user_id, status FROM testDB
db.testDB.find( { }, { user_id: 1, status: 1 } )
SELECT user_id, status FROM testDB
db.testDB.find( { }, { user_id: 1, status: 1, _id: 0 } )
SELECT * FROM testDB WHERE status = "B"
db.testDB.find( { status: "A" } )
SELECT user_id, status FROM testDB WHERE status = "A"
db.testDB.find( { status: "A" }, { user_id: 1, status: 1, _id: 0 } )
SELECT * FROM testDB WHERE status != "A"
db.testDB.find( { status: { $ne: "A" } } )
SELECT *
FROM testDB
WHERE status = "A"
AND age = 50
db.testDB.find(
    { status: "A",
      age: 50 }
)
SELECT *
FROM testDB
WHERE status = "A"
OR age = 50
db.testDB.find(
    { $or: [ { status: "A" } , { age: 50 } ] }
)
SELECT *
FROM testDB
WHERE age > 25
db.testDB.find(
    { age: { $gt: 25 } }
)
SELECT *
FROM testDB
WHERE age < 25
Db.testDB.find(
   { age: { $lt: 25 } }
)
SELECT *
FROM testDB
WHERE age > 25
AND   age <= 50
db.testDB.find(
   { age: { $gt: 25, $lte: 50 } }
)
SELECT *
FROM testDB
WHERE user_id like "%bc%"
db.testDB.find( { user_id: /bc/ } )
-or-

db.testDB.find( { user_id: { $regex: /bc/ } } )
SELECT *
FROM testDB
WHERE user_id like "bc%"
db.testDB.find( { user_id: /^bc/ } )
-or-

db.testDB.find( { user_id: { $regex: /^bc/ } } )
SELECT *
FROM testDB
WHERE status = "A"
ORDER BY user_id ASC
db. testDB. find( { status: "A" } ). sort( { user_id: 1 } )
SELECT *
FROM testDB
WHERE status = "A"
ORDER BY user_id ASC
db. testDB. find( { status: "A" } ). sort( { user_id: 1 } )
SELECT *
FROM testDB
WHERE status = "A"
ORDER BY user_id ASC
db. testDB. find( { status: "A" } ). sort( { user_id: 1 } )
SELECT *
FROM testDB
WHERE status = "A"
ORDER BY user_id DESC
db. testDB. find( { status: "A" } ). sort( { user_id: -1 } )
SELECT *
FROM testDB
WHERE status = "A"
ORDER BY user_id DESC
db. testDB. find( { status: "A" } ). sort( { user_id: -1 } )
SELECT COUNT(*)
FROM testDB
db. testDB. count()
or

db. testDB. find(). count()
SELECT COUNT(user_id)
FROM testDB
db. testDB.count( { user_id: { $exists: true } } )
or

db. testDB.find( { user_id: { $exists: true } } ).count()
SELECT COUNT(*)
FROM testDB
WHERE age > 30
db. testDB.count( { age: { $gt: 30 } } )
or

db. testDB.find( { age: { $gt: 30 } } ).count()
SELECT DISTINCT(status)
FROM testDB
db. testDB.aggregate( [ { $group : { _id : "$status" } } ] )
or, for distinct value sets that do not exceed the BSON size limit

db. testDB.distinct( "status" )
SELECT *
FROM testDB
LIMIT 1
db. testDB.findOne()
or

db. testDB.find(). limit(1)
SELECT *
FROM testDB
LIMIT 5
SKIP 10
db. testDB.find(). limit(5). skip(10)
EXPLAIN SELECT *
FROM testDB WHERE status = "A"
db. testDB. find( { status: "A" } ). explain()

Câu lệnh cập nhật SQL và MongoDB

Câu lệnh cập nhật SQL MongoDB updateMany () Câu lệnh

SQL Update Statements MongoDB updateMany() Statements
UPDATE testDB SET status = "C"
WHERE age > 25
db.testDB.updateMany( { age: { $gt: 25 } }, { $set: { status: "C" } } )
UPDATE testDB SET age = age + 3
WHERE status = "A"
db.testDB.updateMany( { status: "A" } , { $inc: { age: 3 } } )

Câu lệnh xóa SQL và MongoDB

SQL Delete Statements MongoDB deleteMany() Statements
DELETE FROM testDB WHERE status = "D"
db.testDB.deleteMany( { status: "D" } )
DELETE FROM testDB
db.testDB.deleteMany( { } )

Các chủ đề khác:

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now