[SQLite/SQLite3] ์ดํด๋ฆฝ์ค ์๋ฐ ์ฐ๋ & ์ฝ๋์ ์ฌ์ฉํ๊ธฐ
[์ดํด๋ฆฝ์ค๋ก ์๋ฐ ์ฝ๋ฉ์ ํ ์ค ์๊ณ MySQL์ ๋์ถฉ์ด๋ผ๋ ์๋ ์ด๋ณด์ฉ]
ํ์ : ํ์ง๊ฐ๋ฐ์X, ์ ๋ฌธ๊ฐX, sqlite๋ฅผ ๋์ถฉ ๋ ํํ 1๋ ์ง๋ฆฌ ์ด๋ณดO, ์ ํํ์ง ์๊ณ ํ๋ฆฐ ์ ๋ณด๊ฐ ์์ ์ ์์. ๋งค์ฐ ์ผ๋งค์.
์๋ก
MySQL์ ๋นํด SQlite๋ ๊ตฌ๊ธ๋ง ์๋ฃ๊ฐ ์ ๋ค. ๊ทธ๋์ ์ ๋ฆฌํด๋ณด์๋ค.
์ฐ์ SQLite๋ ํ์ผ ํํ์ DB(Database)๋ค.
- MySQL : ๋ก์ปฌ DB๋ก๋ ์ฌ์ฉํ ์ ์์ง๋ง ์ฌ๋ฌ ์ฌ๋์ด ip๋ฅผ ๋ง์ง์ํด์ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ด ์ฌ์ฉํ ์๋ ์๋ค. ์ดํดํ๊ธฐ ์ด๋ ต๋ค๋ฉด ๋ค๋ฅธ PC๋ค๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉ๋๋ค๊ณ ์๊ฐํ๋ฉด ๋จ.
- SQlite : DB๋ฅผ ๊ฐ์ง ํด๋น PC์์๋ง ์ฌ์ฉํ ์ ์๋ค. ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์๋๋ฐ ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํ๊ณ ๋ค์ ์คํํด๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์์๊ฒ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ(์: ์ธํฐ๋ท ์ ์์ด ํ์์๋ ํ์์ฐ์ต ํ๋ก๊ทธ๋จ์ด๋ ๋ฉ๋ชจ์ฅ etc.), ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ๋ก์ปฌ์ ์์ฑํ ํ ๊ฑฐ๊ธฐ์ ๊ณ์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ๋ ํ๊ณ ๋ถ๋ฌ์ค๊ธฐ๋ ํ๋ค. ํ๋ก๊ทธ๋จ์ SQlite๋ฅผ ์ฌ์ฉํ๋ฉด ๊ทธ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌ๋ฐ์ ๊ณ ๊ฐ๋ค ์ญ์ ๋ก์ปฌ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ!
ํ ์ด๋ธ์ด ํ์ํ๋ค๋ฉด ํ์ผio๋ณด๋ค ๊ฐ๋จํ๋ค. ์ด๋ ํ ์ด๋ธ์ด๋ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์กด์ฌํ๋ ์๋ถ๋ฅ์ ๋ฐ์ดํฐ ํ๋ค์ด๋ค.
์ดํด๋ฆฝ์ค์์ ์๋ฐ ์ฝ๋์ SQLite๋ฅผ ์ฌ์ฉํ๊ธฐ
1. ์๋ ์ฃผ์์์ sqlite-jdbc.jar ํ์ผ์ ๋ค์ด๋ฐ๋๋ค. ๋๋๋ก ์ต์ ๊ฑธ๋ก ๋ฐ์. ์ด๊ฒ ์์ด์ผ ์ดํด๋ฆฝ์ค์์ SQlite ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.34.0/
2. ํ์ผ ํ์๊ธฐ์์, ๋ค์ด๋ฐ์ sqlite-jdbc.jar ํ์ผ์ 'SQlite๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ ํ๋ก์ ํธ ํด๋' ์์ ์ง์ด๋ฃ๋๋ค.
์ด๊ฒ ์ ๋ต์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋๋ ํญ์ ๊ทธ๋ ๊ฒ ํ๋ค. ์์ค์์ ์ฐธ์กฐํ๊ธฐ ๋๋ฌธ์ ์๋๊ฒฝ๋ก๋ก๋ ๊ทผ์ ํด์ผํ๊ฒ ์ข๋ค.
3. ์ดํด๋ฆฝ์ค์์ SQlite๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ ํ๋ก์ ํธ ์ฐํด๋ฆญ>Properties>Java Build Path>Libraries ๋ก ์ด๋ ํ ์ด jarํ์ผ์ ์ถ๊ฐํ๋ค. ์ถ๊ฐ๋ ๊ฑธ ํ์ธํ ํ Apply!
4. ๊ฐ๋จํ ํ ์คํธ๋ฅผ ์ํด DB Browser for SQLite ๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ค(๋ค์ด ๋งํฌ ์๋). ํ์๊ฐ ์๋๋ฉฐ ์ด ํ๋ก๊ทธ๋จ์ด ์์ด๋ Sqlite๋ฅผ ์ธ ์ ์์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ์ง์ ๋ค๋ฃจ๊ธฐ์๋ GUI๋ผ ์ฝ์๋ณด๋ค ๊ฐํธํ๋ค. MySQL์ ์ํฌ๋ฒค์น๊ฐ์ ๋๋.
๊ฐ์ ์ด์์ฒด์ ์ ๋ง๋ zipํ์ผ๋ก ๋ค์ดํ๋ค. https://sqlitebrowser.org/dl/
5[FINAL]. ์ด์ ์ดํด๋ฆฝ์ค ์๋ฐ ์ฝ๋๋ก ์ฐ๋ํด๋ณด๊ฒ ๋ค. ์ผ๋ฐ์ ์ธ ์์ค์ฒ๋ผ srcํด๋์ ์ ์์คํ์ผ์ ๋ง๋ ๋ค. ์๋ ์ด๋ฏธ์ง๋ ๊ธฐ๋ณธ์ด์ ์์ ์ฝ๋์ด๋ค.
1๋ฒ์งธ ์ค : sql๋ฌธ์ ์ฌ์ฉํ๊ธฐ ์ํด import ํ์! sql ์์๋ฅผ ๊ฐ๊ฐ importํ๋๊ฒ ๊ท์ฐฎ์์ ์ผ๋จ ๋ค ๊ฐ์ ธ์๋ค. ( '*' = 'all' )
* : try-catch๋ฌธ์ ์๋ฌ(์์ธ)์ฒ๋ฆฌ๋ฅผ ์ํด ํ์์ด๋ฉฐ, try ๋ธ๋ก์ ์คํํ๊ณ ์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
์๋ dbํ์ผ ์์ฑ๊น์ง์ ์ฝ๋์ด๋ค. ์๋ฌ๊ฒฐ๊ณผ์์ด ์คํ๋์๋ค๋ฉด ํ๋ก์ ํธ ํด๋ ๋ด์ ๋น .dbํ์ผ์ด (์ต์ด)์์ฑ๋๋ค. ํ์ ์ด ์์ค๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์คํํด๋ ๊ฐ์ ์ด๋ฆ์ผ๋ก dbํ์ผ์ด ์์ฑ๋์ง ์๋๋ค.
์ด์ ์์ ์ค์นํ DB browser ํ๋ก๊ทธ๋จ์์ ์ด dbํ์ผ์ ์ง์ ๋ค๋ฃจ์ด ๋ณด๊ฒ ๋ค. dbํ์ผ์ ๋ถ๋ฌ์จ๋ค. File>Open Database.
ํ ์คํธ๋๊น ์ด๊ณณ์์ ํ ์ด๋ธ์ ๋ง๋ค์ด๋๊ณ ์ฝ๋์์ ์คํ์ ํ๋๊ฒ ํธํ ๊ฒ์ด๋ค.
Create Table>ํ ์ด๋ธ์ ํ๋ ๋ง๋ค์ด๋ณด๊ฒ ๋ค.
์ด์ ์๋ฐ ์ฝ๋ ์์์ ํ ์ด๋ธ์ ๋ค๋ฃจ์ด๋ณด๊ฒ ๋ค. INSERT๋ฌธ์ ํ๋ ์์ฑํ๋ค. SQLite๋ MySQL๊ณผ ๋ฌธ๋ฒ์ด ๊ฑฐ์ ๋๊ฐ๋ค๊ณ ๋ณผ ์ ์๋ค. ๊ทธ๋ฌ๋ ํ์ค sql๋ฌธ๋ฒ์ด๊ธฐ ๋๋ฌธ์ด์ง, ๋ฌธ๋ฒ์ด ์ข ๋ค๋ฅธ sql๋ ์๋ค.
์๋ฐ ์ฝ๋์์ sql์ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํ๊ธฐ ์ํด ์ฟผ๋ฆฌ๋ฌธ์ ๋ฌธ์์ด๋ก ๋ง๋ค์ด ๋ณด๋ธ๋ค. ResultSet์ด ์ด๋ ์ํฉ์์ ์ฐ์ด๋๊ฑด์ง๋ ๋๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค.
์ ์ฝ๋๊ฐ ์๋ฌ์์ด ์ ์์ ์ผ๋ก ์คํ๋๋ฉด DB browser์์ ์ฟผ๋ฆฌ๋ฌธ์ด ์ ๋ค์ด๊ฐ๊ฑธ ํ์ธํ ์ ์๋ค.
INSERTํ ๊ฐ์ด ์ ๋๋ก ๋ค์ด๊ฐ๋ค.
SQL๋ฌธ๋ฒ์ด๋ ๊ทธ ์ธ๋ ์ค์ค๋ก ๊ณต๋ถํ๊ฑฐ๋ ๋ค๋ฅธ ์์ค๋ค์ ์ฐธ๊ณ ํ๊ธธ. ๋๋ SQL๋ฌธ๋ฒ ์์ง ์ ๋ชจ๋ฅธ๋ค. ๊ทผ๋ฐ ๊ตฌ๊ธ๋ง์ผ๋ก ๋ค ๋์จ๋ค. ๊ทธ๋๋ ๊ผญ ๊ณต๋ถํด์ผํ๋ค.