NoSQL은 말그대로 Not only SQL 혹은 Not SQL이다
기존의 SQL은 RDBMS(관계형데이터베이스)를 기반으로 행과 열로 이루어진 테이블들을 만들어 관리를한다면 그 외의 데이터를 관리하는 방식을 NoSQL로 보면된다. 마치 한국음식과 한국음식이 아닌것 이라고 생각하면 된다.
그 중 json doucument 형태로 관리하는 MongoDB를 쓸 것이다!
mongoDB는 기존의 관계형데이터베이스나 데이터 테이블과 연결된 정형 구조의 데이터 모델을 준수하지 않고 데이터를 Json doucument형태로 저장, 관리 하는 프로그램이다.
몽고DB를 사용하기 위해서는
에 접속하고 로그인 후 DB를 생성
DB를 생성 후 개발툴(파이참기준)을 킨 후 pymongo, dnspython 패키지를 추가한다!
코드를 쳐주면
from pymongo import MongoClient
client = MongoClient('DB연결 url')
db = client.dbsparta
몽고DB랑 연결됐다.
코드를 쳐주고
from pymongo import MongoClient
client = MongoClient('mongodb+srv://test:sparta@cluster0.4ltayve.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.dbsparta
doc = {
'name' : 'bob',
'age' : 27
}
#doc 값을 추가한다.
#.insert() : 괄호안의 값을 추가한다.
db.users.insert_one(doc)
실행하면
들어갔다!
#데이터 받아오기
#.find를 써서 list형식으로 '_id를 제외한 나머지를 받아온다.'
all_users = list(db.users.find({},{'_id':False}))
#list를 for문으로 돌려서 하나씩 출력하기
for user in all_users:
print(user)
#.find_one 특정 데이터를 찾아라
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)
#users에 가서 name이 bobby를 찾아서 'age'를 19로 업데이트를 해라
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
27살이었던 bobby이 업데이트 후 19세로 변했다.
#users에 가서 name이 bobby를 찾아서 삭제해라
db.users.delete_one({'name':'bobby'})
#name이 bobby를 찾아라
user=db.users.find_one({'name':'bobby'})
print(user)
삭제 후 bobby를 find하면 None으로 뜬다.