์คํํ๋ ์ฟผ๋ฆฌ๊ฐ ์๋๋ผ ์กฐํํ๋ select๋ฌธ์ ์คํํ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์ค๋๋ฐ ๊ทธ ๋ฐ์ดํฐ๋ฅผ fetch all์ ์จ์ ๋ณ์์ ๋ด์ ์๊ฐ ์๋ค.
> import mysql.connector
remote = mysql.connector.connect(
host = "์๋ํฌ์ธํธ",
port =3306,
user ="admin",
password ="๋น๋ฐ๋ฒํธ",
database ="zerobase"
)
>cur = remote.cursor()
sql = open("test04.sql").read()
for result_iterator in cur.execute(sql, multi=True):
if result_iterator.with_rows:
print(result_iterator.fetchall())
else:
print(result_iterator.statement)
>remote.commit()
remote.close()
CSV ์ ์๋ ๋ฐ์ดํฐ๋ฅผ Python ์ผ๋ก INSERT ํฐ ๋ฐ์ดํฐ๋ค์ด ์์ ์ด๋ scvํ์ผ์ ๋ค์ด์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
์ด๋ฐํ ๊ฒ์ db์ ๋ฃ๊ณ ์ฟผ๋ฆฌ๋ฅผ ํด๋ณด๊ณ ์ถ์ ๋ ํ์ด์ฌ์ผ๋ก ํ๊บผ๋ฒ์ ๋ฃ๋ ๋ฐฉ๋ฒ
police_station.csv๋ฅผ Pandas๋ก ์ฝ์ด์ค๊ธฐ
import pandas as pd df = pd.read_csv("police_station.csv") ** # ํ์ผ์ ๊ฐ์ ธ์์ ์ฝ์ด๋ณธ๋ค.** df.tail() ** # ๋ฐ์ดํฐ๊ฐ ๋ช๊ฐ ์๋์ง ํ์ธ-30๊ฐ**
import mysql.connector
conn = mysql.connector.connect(
host ="์๋ํฌ์ธํธ",
port =3306,
user ="zero",
password = "๋น๋ฐ๋ฒํธ",
database ="zerobase" #zero๋ผ๋ ๊ณ์ ์ zerobase๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ง ๊ถํ์ ์คฌ๊ธฐ ๋๋ฌธ์ ์ ๊ทผ ๊ฐ๋ฅ
)
โ์ฌ๊ธฐ์ ์ค๋ฅ ๋ฐ์.
ERROR 1045 (28000) ์ณ๋ณด๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฐ๋ผ๋๋ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ผ๋๋ฐ ์ค๋ฅ๊ฐ ๋์ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํด์ฃผ์ด์ ํด๊ฒฐ!
ALTER USER 'zero'@'%' IDENTIFIED BY '๋น๋ฐ๋ฒํธ';
๐ mysql.connector excute- ์์ธํ ๋ณด๊ณ ์ถ์ผ๋ฉด ๊ณต์ ๋ฌธ์ ์ฐธ์กฐ
- ์ฝ์ด์ฌ ์์ด ๋ง์ ๊ฒฝ์ฐ buffer ์ค์ ์ ํด์ค๋ค.
- Buffer ์ต์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ๊บผ๋๊น true๋ก ํด์ค๋ค.
cursor = conn.cursor(buffered= True)
์ปฌ๋ผ 2๊ฐ์ ์ ๋ณด๋ฅผ ๋ฃ์ด์ฃผ๊ธฐ ์ํด์ 2๊ฐ์ string๊ฐ์ ๋ฐ์์ค ์ ์๋ ์ค์ ์ ํด์ค๊ฒ์ด๋ค.
sql =" insert into police_station values (%s, %s)"
commit()์ database์ ์ ์ฉํ๊ธฐ ์ํ ๋ช ๋ น
for i, row in df.iterrows(): cursor.execute(sql, tuple(row)) #cursor์ execute sql๋ฌธ์ ์คํํ๋ฉด ๊ทธ๊ฑธ ๋ ๋ ค์ค๋ค. print (tuple(row)) conn.commit() ``` ![](https://velog.velcdn.com/images/quf277/post/eec47edc-c0d3-46f6-8d3d-5abe044cb376/image.png)
cursor.execute("select * from police_station") result =cursor.fetchall() result[3]
for row in result: print(row) ```
df =pd.DataFrame(result) df.tail()
crime_status ํ ์ด๋ธ์ 2020_crime.csv๋ฅผ ์ ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑ
import mysql.connector
conn =mysql.connector.connect( host ="์๋ํฌ์ธํธ", port = 3306, user ="zero", password ="๋น๋ฐ๋ฒํธ", database ="zerobase" )
df =pd.read_csv("2020_crime.csv", encoding= 'euc-kr') df.head(2)
sql = " insert into crime_status values ('2020', %s, %s, %s, %s)" cursor =conn.cursor(buffered=True)
for i, row in df.iterrows(): cursor.execute(sql, tuple(row)) print(tuple(row)) conn.commit() ``` ![](https://velog.velcdn.com/images/quf277/post/695fd18d-e1ac-47b9-b57a-4c8a8dac9002/image.png)
cursor.execute("select * from crime_status")
result =cursor.fetchall() for row in result: print(row)
df=pd.DataFrame(result) df.head()