DB

18409 ワード

3-11 DB개괄

DB

databaseと書かれているのは、データを「うまく」インポートするためです.
例えば、本棚を書く理由は、本を整理して、後でよく本を探すために、似たような道理です.

DBインストールの確認


Chromeウィンドウに次の画面が表示されている場合、DBは実行中です.

localhost:27017のタイプ


SQL


✔所与の行/列にデータを格納するEXCELと同様
✔利点:構造化データの抽出方法の最適化
✔短所:途中で交換しにくい
✔ex)MS-SQL、My-SQL等

NoSQL


データをバイナリ形式で格納するDB
✔異なるデータは異なる値を有する
✔メリット:データを柔軟に変更する.
✔ ex) MongoDB

📌 MongoDB

DB:NoSQLデータベース、実行時に表示されないmongoDB:mongodbデータを表示するためのビジュアル化プログラム
私たちはRobo 3 Tを使ってMongoDBのデータを可視化して確認します!Robo3T

3-12 Pymongo操作DBを使用


他者が作成したライブラリpymongoアクションPythonを使用します.

きほんコード

from pymongo import MongoClient           # pymongo를 임포트 하기(패키지 인스톨 먼저 해야겠죠?)
client = MongoClient('localhost', 27017)  # mongoDB는 27017 포트로 돌아갑니다.
db = client.dbpymongo                     # 'dbpymongo'라는 이름의 db를 만듭니다.


# 코딩 시작

使用派モンゴル


◽ mongoDB

Pymongoは、データを格納するために使用することができる.
# insert - 데이터 저장하기

# 'users'라는 collection에 넣기
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

◽ insert / insert

findfind_oneを使用してデータを検索できます.
# find - 모든 결과 값을 보기

# mogoDB에 있는 데이터 모두 보기
all_users = list(db.users.find({},{'_id':False}))
# 반복문을 돌며 모든 결과값을 보기
for users in all_users:
    print(users)

# 결과
{'name': 'john', 'age': 30}
{'name': 'bobby', 'age': 21}
{'name': 'kay', 'age': 27}
{'name': 'jane', 'age': 21}


# mongoDB에서 특정 조건의 데이터 모두 보기
same_ages = list(db.users.find({'age':21},{'_id':False}))
for users in same_ages:
    print(users)

# 결과
{'name': 'bobby', 'age': 21}
{'name': 'jane', 'age': 21}
# find_one - 특정 결과 값을 뽑아보기

# mongoDB에서 {'name':'bobby'}인 데이터만 보기
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)

# 결과
{'name': 'bobby', 'age': 21}

◽ find

find_oneを使用してデータを変更できます.
# update_one - 데이터 수정하기

# {'name':'bobby'}인 데이터를 찾아서 {'age':19}로 수정
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

◽ update_one

update_oneデータの削除に使用できます.
しかし、データを削除するのは危険なので、ほとんど書かない.
# delete_one - 데이터 삭제하기

# {'name':'bobby'}인 데이터를 찾아서 삭제
db.users.delete_one({'name':'bobby'})

コードの概要!(貼り付け用)

# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})

Quiz-pymongo(映画ページ)


前回のムービーページのスクロール結果を利用してpymongoの練習をしたいと思います.

デフォルトコードの挿入

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbpymongo

## 코딩 시작

delete one

target_movie = db.movies.find_one({'title':'매트릭스'})
print(target_movie['star'])

# 결과
9.39

delete one(マトリクススコアと同じ映画タイトルを取得)

target_movie = db.movies.find_one({'title':'매트릭스'})
terget_star = target_movie['star']

movies = list(db.movies.find({'star':terget_star}))

for movie in movies:
    print(movie['title'])
        
# 결과
인생은 아름다워
매트릭스
라이언 일병 구하기
사운드 오브 뮤직
헬프
포레스트 검프
안녕 베일리
글래디에이터
인생은 아름다워
.
.
.

find one(「マトリクス」を0に評価)

db.movies.update_one({'title':'매트릭스'},{'$set':{'star':'0'}})