SQL문법과 MongoDB 문법 비교 분석

2015. 10. 29. 14:51·프로젝트 관련 조사/DB
반응형

 

1. Create & Alter 문

 

 

SQL 문장 

MongoDB 스키마 문장 

CREATE TABLE members(

   mem_no  varchar(30),

   age number,

   type char(1),

   PRIMARY KEY (mem_no)

);

db.members.insert({

   mem_no  :  "T2013001",

   age        :  49,

   type       :  "ACE"})

또는

db.createCollection("members") 

 ALTER TABLE members

ADD regist_date DATE;

 

 ALTER TABLE members

DROP COLUM regist_date; 

 

 CREATE INDEX i_members_type

ON members(type);

db.members.ensureIndex({ type:1}) 

 CREATE INDEX i_members_type_no

ON members( type, mem_no DESC); 

db.members.ensureInde( { type:1, mem_no: -1}) 

 DROP TABLE members; 

db.member.drop() 

 

 

2. Insert 문

 

 SQL문

MongoDB 

INSERT INTO members(

mem_no,

age,

type)

VALUES ("T20130102",35,"GOLD"); 

db.members.insert( {

mem_no: "T20130102",

age:35,

type:"GOLD"

})

 

 

 

 

3. SELECT 문

 

 SQL문

MongoDB문 

 SELECT * FROM members;

 db.members.find()

SELECT rowid,mem_no,type

FROM members; 

db.members.find(

{},

{mem_no:1, type:1}

) 

SELECT mem_no, type

FROM members; 

db.members.find(

{},

{ mem_no;1, type:1, _id:0}

) 

SELECT *

FROM members

WHERE type = "ACE"; 

db.members.find(

{type:"ACE"}

) 

 

SELECT mem_no, type

FROM members

WHERE type = "ACE"; 

db.members.find(

{type:"ACE"},

{ mem_no;1, type:1, _id:0}

) 

 

SELECT *

FROM members

WHERE type != "ACE"; 

 

db.members.find(

{type: { $ne: "ACE"} }

) 

 SELECT *

FROM members

WHERE type = "ACE"; 

AND age = 49;

 

db.members.find(

{type:"ACE", age:49}

) 

 SELECT *

FROM members

WHERE type = "ACE"; 

OR age = 49;

 

db.members.find(

{$or: [ {type:"ACE"}, {age:49} ] }

) 

 SELECT *

FROM members

WHERE age > 45;

 

db.members.find(

{age: { $gt: 45} }

) 

 SELECT *

FROM members

WHERE age < 55;

 

db.members.find(

{age: { $lt: 55} }

) 

 SELECT *

FROM members

WHERE age > 45

AND age <= 55;

 

db.members.find(

{age: { $gt: 45 , $lte:55}}

) 

 SELECT *

FROM members

WHERE mem_no

like "%2013%";

 db.members.find(

 { mem_no: /2013/}

)

 SELECT *

FROM members

WHERE mem_no

like "T%";

 db.members.find(

 { mem_no: /^T/}

)

 SELECT *

FROM members

WHERE type = "ACE"

ORDER BY mem_no ASC;

 db.members.find( { type: "ACE" } ).sort( {

mem_no:1})

 SELECT *

FROM members

WHERE type = "ACE"

ORDER BY mem_no DES;

 db.members.find( { type: "ACE" } ).sort( {

mem_no:-1})

 SELECT COUNT

FROM members;

db.members.count()

 

db.memers.find().count()

 SELECT COUNT(mem_no)

FROM members;

db.members.count( { mem_no: {$exists:true} })

 

db.members.find( { mem_no: {$exists:true} }).

count() 

 SELECT COUNT(*)

FROM members

WHERE age > 45;

db.members.count( { age: {$gt:45}})

 

db.members.find( { age: {$gt:45}}).count() 

 SELECT DISTINCT type

FROM members;

db.members.distinct("type") 

SELECT *

FROM members

WHERE rownum =1; 

db.members.findOne()

 

db.members.find().limit(1) 

EXPLAIN PLAN

SELECT *

FROM members

WHERE type = "ACE"; 

db.members.find( { type:"ACE"}).explain() 

 

 

4. Update Records 문

 

 SQL

MongoDB 

 UPDATE members

SET type = "GOLD"

WHERE age > 45

db.members.update(

{ age: { $gt:45 } },

{ $set: { type: "GOLD" } },

{ multi: true}

)

 UPDATE members

SET age = age + 3

WHERE type = "ACE"

 

db.members.update(

{ type: "ACE" },

{ $inc: { age:3 } },

{ multi: true}

)

 

 

 

5. Delete Records 문

 

 SQL

MongoDB 

DELETE FROM members

WHERE type = "ACE" 

db.members.remove( {type: "ACE"}) 

DELETE FROM members 

db.members.remove() 

 

 

 

http://creatorw.tistory.com/entry/MongoDB%EC%99%80-SQL-%EC%B0%A8%EC%9D%B4

https://docs.mongodb.org/manual/reference/sql-aggregation-comparison/

반응형
저작자표시 (새창열림)

'프로젝트 관련 조사 > DB' 카테고리의 다른 글

ubuntu 우분투에서 mongodb 데이터 위치 directory 변경하기  (0) 2015.10.29
MongoDB 조회하기  (0) 2015.10.29
MongoDB 용어 설명  (0) 2015.10.29
MongoDB 란?  (0) 2015.10.29
몽고db ( mongodb ) 기본명령어 1 - Collection ( 컬렉션 )  (0) 2015.10.28
'프로젝트 관련 조사/DB' 카테고리의 다른 글
  • ubuntu 우분투에서 mongodb 데이터 위치 directory 변경하기
  • MongoDB 조회하기
  • MongoDB 용어 설명
  • MongoDB 란?
호레
호레
창업 / IT / 육아 / 일상 / 여행
    반응형
  • 호레
    Unique Life
    호레
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 법률
        • 기본
        • 개인정보보호법
        • 정보통신망법
        • 전자금융거래법
        • 전자금융감독규정
        • 신용정보법
        • 온라인투자연계금융업법
      • 창업
        • 외식업 관련
        • 임대업 관련
        • 유통업 관련
        • 세무 관련
        • 마케팅 관련
        • 기타 지식
        • 트렌드
        • Youtube
      • IT기술 관련
        • 모바일
        • 윈도우
        • 리눅스
        • MAC OS
        • 네트워크
        • 빅데이터 관련
        • A.I 인공지능
        • 파이썬_루비 등 언어
        • 쿠버네티스
        • 기타 기술
      • 퍼블릭 클라우드 관련
        • Azure
        • GCP
        • AWS
      • 정보보안 관련
        • QRadar
        • Splunk
        • System
        • Web
      • 기타
        • 세상 모든 정보
        • 서적
      • 게임 관련
        • 유니티
      • 부동산
      • 맛집 찾기
        • 강남역
        • 양재역
        • 판교역
        • ★★★★★
        • ★★★★
        • ★★★
        • ★★
        • ★
      • 결혼_육아 생활
        • 리얼후기
        • 일상
        • 육아
        • 사랑
        • Food
      • 영어
        • 스피킹
        • 문법
        • 팝송
        • 영화
      • K-컨텐츠
        • 드라마
        • 영화
        • 예능
      • 독서
      • 프로젝트 관련 조사
        • 시스템 구축
        • 로그 관련
        • 웹
        • APT
        • 모의 해킹
        • DB
        • 허니팟
        • 수리카타
        • 알고리즘
        • FDS
      • 기업별 구내 식당 평가
        • 한국관광공사
        • KT telecop
        • KT M&S
        • KT powertel
        • KT cs 연수원
        • 진에어
      • 대학 생활
        • 위드윈연구소
        • 진로 고민
        • 채용정보
        • 자동차
        • 주식
        • 악성코드
        • 게임 보안
      • 쉐어하우스
  • 블로그 메뉴

    • 홈
    • 게임 관련
    • IT 기술 관련
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    대통령
    무역전쟁
    이재곧죽습니다
    맛집
    보안가이드
    판교
    유니티
    쥬쥬랜드
    AWS
    수제버거
    런치
    점심
    돈까스
    복리후생
    판교역
    마케팅
    판교맛집
    상호관세
    수제버거존맛
    수제버거맛집
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
호레
SQL문법과 MongoDB 문법 비교 분석
상단으로

티스토리툴바