ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL) Python with MySQL/CSV
    SQL 2023. 3. 20. 22:06
    설치
    pip install mysql-connector-python
    MySQL에 접속하기 위한 코드
    import mysql.connector
    
    local = mysql.connector.connect(
    	host = "hostname",
        user = "username",
        password = "password"
    )
    ASW RDS 연결
    remote = mysql.connector.connect(
    	host = "end point",
        port = port,
        user = "user name",
        password = "password"
     # 특정 데이터베이스에 접속하고 싶을 때는 + database = "dbname"
    )
    Close Database
    local.close()
    remote.close()
    쿼리 실행
    import mysql.connector
    
    mydb = mysql.connector.connect(
    	host = "hostname",
        user = "username",
        password = "password",
        database = "dbname"
    )
    
    cur = mydb.cursor()
    cur.execute("query")

    💥 읽어올 값이 많을 경우(ex. select)

    mycursor = remote.cursor(buffer=True)

     

    SQL 파일 실행
    mycursor = mydb.cursor()
    sql = open("filename.sql").read()
    mycursor.execute(sql)
    파일 내에 쿼리가 여러개인 경우
    sql = ("filename.sql").read()
    result = mycursor.execute(sql, multi=True)
    Fetch all: 레코드 배열형식으로 저장
    mycursor.execute("query")
    
    result = mycursor.fetchall()
    for data in result:
    	print(data)
    Python with CSV (CSV에 있는 데이터를 파이썬으로 insert)

    1. csv 파일을 pandas로 읽어와서 데이터 확인

    import pandas as pd
    df = pd.read_csv("filename.csv")
    df.head()

    2. 데이터베이스 연결

    import mysql.connector
    
    conn = mysql.connector.connect(
        host = "end point",
        port = port,
        user = "username",
        database = "dbname"
    )

     

    3. INSERT문 만들기

    sql = "INSERT INTO police_station VALUES(%s, %s)"

    4. 데이터 입력

    for i, row in df.iterrows():
    	cursor.execute(sql, tuple(row))
    	print(tuple(row))
    	conn.commit()

    commit()는 database에 적용하기 위한 명령

     

    5. 결과확인

    cursor.execute("select * from police_station")
    
    result = cursor.fetchall()
    for row in result:
    	print(row)

    'SQL' 카테고리의 다른 글

    SQL) 집계함수(Aggregate Functions)  (0) 2023.03.21
    SQL) PRIMARY KEY, FOREIGN KEY  (1) 2023.03.21
    SQL) RDS 접속, SQL FILE 실행, 백업  (0) 2023.03.17
    SQL) CONCAT, ALIAS, DISTINCT, LIMIT  (0) 2023.03.16
    SQL) union  (0) 2023.03.16

    댓글

binlog