연결이 되었다면 ✅가 표시됩니다. 아니라면 ❌가 표시됩니다.
docker pull postgres
docker run --name test_postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
-e POSTGRES_PASSWORD
를 통해 비밀번호를 설정하지 않으면 데이터 베이스가 제대로 생성되지 않을 수 있음
mysecretpassword
는 자신이 사용하고자 하는 비밀번호 입력
docker exec -it test_postgres psql -h test.db.elephantsql.com -U username
-h
: 호스트 이름 (test.db.elephantsql.com
에 ElephantSQL Server를 기입)
-U
: 유저 아이디 (username
에 ElephantSQL User & Default database 기입)
접속이 되면 비밀번호를 기입해야하는데 비밀번호 붙여넣기를
insert
키로 했는데 안된다면 마우스 우클릭으로 대신해볼 것
MongoDB Atlas를 통해 가입
접속할 ip를 지정하여 Status
가 Active
된 것을 확인
제 경우엔 python pymongo를 사용하여 접속할 것이기 때문에 Connect your application
을 선택해주었습니다.
root
부분은 제 데이터 베이스 접속 아이디입니다.
<password\>
부분에 접속 아이디의 비밀번호를 입력합니다.
myFirstDatabase
부분에 앞으로 쓸 데이터베이스명을 입력합니다.
titanic dataset을 예시로 작성했습니다.
from pymongo import MongoClient
import pandas as pd
def return_list(df, col):
return df[col].tolist()
df = pd.read_csv('titanic.csv')
# mongodb 접속
client = MongoClient("mongodb+srv://id:password@cluster0.nyxzh.mongodb.net/Titanic?retryWrites=true&w=majority")
# 데이터 베이스 생성 혹은 접근
db = client['Titanic']
# 콜렉션 생성 혹은 접근
col = db['Passengers']
# 각 데이터 요소들 정의
surv = return_list(df, 'Survived')
pcl = return_list(df, 'Pclass')
name = return_list(df, 'Name')
sex = return_list(df, 'Sex')
age = return_list(df, 'Age')
ssa = return_list(df, 'Siblings/Spouses Aboard')
pca = return_list(df, 'Parents/Children Aboard')
fare = return_list(df, 'Fare')
# 데이터 전송
for i in range(len(df)):
datas = datas = {'Survived' : surv[i], 'Pclass' : pcl[i], 'Name' : name[i], 'Sex' : sex[i], 'Age' : age[i],
'Siblings/Spouses Aboard' : ssa[i], 'Parents/Children Aboard' : pca[i],
'Fare' : fare[i]}
# collection에 데이터 묶음 하나를 보냅니다.
# insert_many()를 통해서 데이터 묶음 여러개를 보낼 수 있습니다.
col.insert_one(datas)