MongoDB 문법, SQL과의 비교

Back-End/Data Base 2019. 7. 8. 12:17
728x90
반응형


- MongoDB 문법 -


 

      db.memo.count( ) //db안에 들어가 있는 객체들의 갯수를 확인 ( 객체와 그 객체에 대한 속성값을 3번 삽입했으므로 3이 출력된다)



삭제할때는 memo.remove({_id : 2})



// member Collection에 자료 입력

db.member.save(    {_id : "kim", passwd : "1234", name : "김철수"    }    )



// 컬렉션 생성 (테이블에 해당됨)

테이블을 미리 만들고 작업할 수도 있지만 궂이 먼저 만들지 않고 아래 코드처럼 데이터를 입력하면서 만들 수도 있다.

db.createCollection("customers")



// 데이터를 입력하면서 동시에 collection 생성

db.customers.insert(    { name : "김철수", age : 22   }    )



//컬렉션 목록

show collections

db.<collection 이름>.insert(<생성할 데이터>)



//데이터 생성

db.customers.insert(    {name : "이철호", age : 25}    )

db.customers.insert(    {name : "lee", age : 35    }    )

db.customers.insert(    {name : "hong", age : 45    }    )

db.customers.insert(    {name : "park", age : 55    }    )



//데이터 읽기

db.<collection 이름>.find(<검색 조건>)

db.customers.find(    {name : "김철수"}    )



//데이터 수정

db.<collection 이름>.update(<업데이트할 데이터선택>,<데이터를 입력>)


 

//수정 확인

db.customers.find( )



//데이터 삭제

db.<collection 이름>.remove(<삭제할 데이터 선택>)

db.customers.remove(    {name : "kim"    }    )

db.customers.find( )



//데이터 조회

db.customers.find( )

db.<Collection 이름>.find({ }, {"<표시할 field>" : 1, "<표시하지 않을 field>" : 0})

db.customers.find({ }, {"_id" : 0, "name" : 1})



//db.<collection 이름>.find().limit(<보여주고 싶은 데이터 개수>)

db.customers.find().limit(1)



//db.<collection 이름>.find().skip(<건너뛰고 싶은 데이터 행수>)

db.customers.find().skip(2)



//db.<collection 이름>.find().sort("<정렬에 사용할 기준 field>" : <1 혹은 -1>), 1과 -1은 

오름차순과 내림차순을 구분할때 사용한다.

db.customers.find().sort({"age" : 1})     //오름차순 정렬

db.customers.find().sort({"age" : -1})    //내림차순 정렬



//함수 여러개 호출 가능

db.customers.find().skip(1).limit(2) //하나를 건너뛰고 2개만 찾으라는 의미



//정확히 일치하는 자료를 검색

db.<collection 이름>.find({"<검색할 field>" : <찾을 값>})

db.customers.find({"age" : 25})



//Less Than Equals 검색

db.<collection 이름>.find({"<검색할 field>" : {"$lte" : <기준 값>}})

db.customers.find({"age" : {$lte : 20}}) //20보다 작거나 같은 나이를 검색



//Greater Than 검색

db.<collection 이름>.find({"<검색할 field>" : {"$gt" : <기준 값>}})

db.customers.find({"age" : {$gt : 25}}) //25보다 큰 나이를 검색



//Greater Than Equals 검색

db.<collection 이름>.find({"<검색할 field>" : {"$gte" : <기준 값>}})

db.customers.find({"age" : {$gte : 25}})



//Not Equals 검색

db.<collection 이름>.find({"<검색할 field>" : {"$ne" : <기준 값>}})

db.customers.find({"age" : {$ne : 25}})



//And 조건

db.<collection 이름>.find({$and : ["<검색할 field>" : {"<검색할 field>"} , {"<검색할 field>" : <기준 값>}]})

db.customers.find($and : [{"age" : {$gte : 23}}, {"name" : "park"}])     //나이가 23보다 크거나 같으면서 이름이 park라는 사람을 찾는 구문



//Or 조건

db.<collection 이름>.find({$or : ["<검색할 field>" : {"<검색할 field>"}, {"<검색할 field>" : "<기준 값>"}]})

db.customers.find({$or : [{"age" : {$gte : 23}}, {"name" : "park"}]})    //나이가 23보다 크거나 같고 or 이름이 park인 사람 찾는 구문






-sql과의 비교 (mongoDB는 기본적으로 SQL문법을 사용하지 않는다)-


Mongo DB에서는 Primary Key (기본키)를 _id라고 써야한다.


      


      Insert


SQL    : insert into users ("name",city) values ("terry","seoul")


Mongo DB : db.users.insert({id : "terry", city : "seoul"}) // { }중괄호 안에는 제이슨 문법




Select


SQL    : select * from users where id = "terry"


Mongo DB : db.users.find({_id : "terry"})




Update


SQL    : update users set city = "busan" where _id = "terry"


Mongo DB : db.users.update ({_id : "terry"}), {$set : {city : "Busan"}}) //id가 terry인것을 찾아서 city를 Busan으로 바꾸라는 쿼리




Delete


SQL    : delete from users where _id = "terry"


Mongo DB : db.users.remove({_id : "terry"})





  -DB 목록-


  show dbs (현재 사용중인 데이터베이스 목록을 보여줌)



  -db 생성-


  use testdb (testdb 데이터베이스를 만들고 testdb데이터베이스를 사용한다)



  -현재 사용중인 db 이름-


  db



  -전체 데이터베이스 목록-


  show dbs (현재 testdb 데이터베이스를 사용하고 있으므로, 그 안에 있는 데이터베이스들을 보여준다)


  




728x90
반응형

'Back-End > Data Base' 카테고리의 다른 글

ERD (ER 다이어그램) 작성 방법  (0) 2019.07.15
ERD (ER 다이어그램) Cloud  (0) 2019.07.08
오라클 반복문 (for loop, while loop)  (0) 2019.07.03
오라클 변수 선언  (0) 2019.07.03
기본 용어 정리  (0) 2019.06.27
: