
๐ฆ Streamlit๊ณผ SQLite ์ฐ๋ ์ ๋ฆฌ ๐ฆ
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ๊ตฌํํ๋ C ์ธ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์๊ณ ๋น ๋ฅด๋ฉฐ, ์์ฒด ํฌํจ๋ ๊ณ ์ ๋ขฐ์ฑ์ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถค
ํ๋ซํผ ๊ฐ ํธํ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ ์ง
SQLite๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ถ๊ฐ ์ค์น๊ฐ ํ์ํ๋ค.
pip install sqlite3
conn = sqlite3.connect(<db>)
splite3์ ํตํด DB์ ์ฐ๊ฒฐํ๋ค.
์ด๋ DB๋ ์ํ๋ ๋๋ก ์ด๋ฆ์ ์ค์ ํ ์ ์์ผ๋ฉฐ, ์กด์ฌํ์ง ์์ผ๋ฉด ์คํ ์ ์์ฑ๋๋ค.
cursor = conn.cursor()
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํธ์์ฉ์ ๋ด๋นํ๋ Cursor๋ฅผ ์์ฑํ๋ฉด ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ์ค๋น๋ ๋๋ฌ๋ค.
cursor.execute(<query>)
์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ํด๋น ์ฟผ๋ฆฌ๊ฐ ์คํ๋๋ค.
conn.commit()
SQLite์์๋ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ๊ผญ ์ปค๋ฐ์ ํด์ผํ๋ค๊ณ ํ๋ค..
์ปค๋ฐ์ ํ์ง ์์ผ๋ฉด ํธ๋์ญ์
์ด ๋ฐ์๋์ง ์์ผ๋ ์์ง ์๊ธธ ๋ฐ๋๋ค.
DB์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์๋ ํ ์ด๋ธ์ ์์ฑํด์ผ ํ๋ค.
cursor.execute('''
CREATE TABLE IF NOT EXISTS boards (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
''')
๋ค๋ฅธ DB๋ฅผ ์ฌ์ฉํ ๋์ ๊ฐ์ด ๋์ผํ ๋ฌธ๋ฒ์ ์ฌ์ฉํด SQL๋ฌธ์ ์์ฑํ๋ฉด ๋๋ค.
DB์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด ์ฌ์ฉํด์ผ ํ๋ค.
์ด๋ ๊ฒฐ๊ณผ๋ ๋ฐฐ์ด ํํ์ด๋ฉฐ, ๊ฐ ์ปฌ๋ผ์ ๊ฒฐ๊ณผ ๊ฐ์ด ๋ด๊ฒจ์์ด ์ธ๋ฑ์ฑ์ ํตํด ๊ฐ์ ธ์์ผ ํ๋ค.
cursor.fetchone()
cursor.fetchall()
cursor.fetchmany(n)
ํ์์ ๋ฐ๋ผ ์ธ ๊ฐ์ง ์ค์ ํ๋๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
all_datas = cursor.fetchall()
name = all_datas[1]
๋ชจ๋ ํ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด fetchall์ ์ฌ์ฉํ๊ณ , all_datas ์ธ๋ฑ์ฑ์ ํตํด ์ํ๋ ๋ฐ์ดํฐ์ธ name๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค!
์ด๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์กฐํํ ์ ์๋ค.
DB์ ๊ฒฝ์ฐ ์์ฑ๋ ํ DB๋ DB ์์ ํ
์ด๋ธ์ด ์ญ์ ๋์ง ์์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ์ง๋์๋ค.
ํ์ง๋ง, ์ด์ ์ streamlit ์์ฒด ๋ฐฐํฌ ํ๋ก๊ทธ๋จ์ ํตํด ๊นํ๋ธ์ ์ฐ๋ํด ๋ฐฐํฌํ์๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ฐ, streamlit ๋ฐฐํฌ ํ๋ก๊ทธ๋จ ์์ฒด์์ ๋ฐฐํฌ๋ ์น ์ฌ์ดํธ๋ฅผ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ ๋ค์ด๋ฒ๋ฆฐ๋ค๋ ๊ฒ์ด์๋ค.
์ ๋ค์ด๋ฒ๋ฆฐ๋ค = ์ฌ๋ฐฐํฌ => DB ๋ ์๊ฐ
์ฆ, DB๊ฐ ์ฌ๋ฐฐํฌ๋์ด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋ ๊ฒ์ด๋ผ ์๊ฐํ๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์ญ์ ์์ผ๋ฒ๋ ธ๋ค.
๊ทธ๋์ ์ค์นผ๋ผ ์ฌ๋๋ค์ด ์์ฑํด์ค ์์คํ ๋ฐฉ๋ช
๋ก์ด ์ฌ๋ผ์ ธ๋ฒ๋ ธ๋ค...๐ญ๐ฑ
(์์ฑํด์ฃผ์ ๋ถ๋ค ๊ฐ์ฌํฉ๋๋ค... ๐)
์๊ฐ์น๋ ๋ชปํ ๋ฌธ์ ๊ฐ ๋ฐ์ํด ๋จธ๋ฆฌ๊ฐ ์ํ์ง๋ง, ์ฌ์ฉํด๋ณด์ง ๋ชปํ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ ๋จ๊ธฐ๊ฐ์ ๊ฐ๋ฐ์ ํด๋๋ค๋ ์ฌ์ค์ ๋ณํ์ง ์๋๋ค.
๋ค์์๋ DB ๋ฐฑ์ ์ด๋ ๋ค๋ฅธ RDBMS๋ฅผ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ ๊ฐ๋ค. ๐