SQL - SQL with Python
ยท
๐Ÿงฉ SQL
โœ… Python ํ™˜๊ฒฝ์—์„œ SQLite ์‚ฌ์šฉํ•˜๊ธฐPlaceholderimport sqlite3connection = sqlite3.connect("users.db")cursor = connection.cursor()def init_table(): cursor.execute( """ CREATE TABLE users ( user_id integer primary key autoincrement, username text not null, password text not null ); """ ) cursor.execute( """ insert into users (username, password) ..
SQL - SQLite Index
ยท
๐Ÿงฉ SQL
โœ… Index ๊ตฌ์กฐ(B+ Tree)B+Tree๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ ํ‚ค์— ์˜ํ•ด์„œ ๊ฐ๊ฐ ์‹๋ณ„๋˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ํšจ์œจ์ ์ธ ์‚ฝ์ž…, ๊ฒ€์ƒ‰๊ณผ ์‚ญ์ œ๋ฅผ ํ†ตํ•ด ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. SQLite์™€ MySQL ์ž์ฒด๋„ B+ Tree๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ๋ฐ์ดํ„ฐ๋Š” ๋ฆฌํ”„ ๋…ธ๋“œ(leaf)์—๋งŒ ์ €์žฅํ•˜๊ณ , ๋‚ด๋ถ€ ๋…ธ๋“œ๋Š” ํƒ์ƒ‰๋งŒ ๋‹ด๋‹นํ•˜๋Š” ๊ตฌ์กฐ index๋Š” inserting, deleting, editing์„ ๋ชจ๋‘ ๋А๋ฆฌ๊ฒŒ ๋งŒ๋“ ๋‹ค. (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋™๊ธฐํ™”๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ)๋ณ€๊ฒฝ์ด ์žฆ์€ ์—ด์ด ์žˆ๋‹ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. rowidSQLite๋Š” ๊ธฐ๋ณธ ์ œ๊ณต, Primary key๋ฅผ ๋ช…์‹œ์ ์œผ..
SQL - SQLite, ๋ฌธ๋ฒ•
ยท
๐Ÿงฉ SQL
โœ… SQLite๋ž€?SQLite๋Š”**์„œ๋ฒ„ ์—†์ด ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)**์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด ๋”ฐ๋กœ ์žˆ์ง€๋งŒ, SQLite๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•ˆ์— ํฌํ•จ๋˜๋Š” embedded database๋‹ค. SQLite ํ•ต์‹ฌ ํŠน์ง•1. ์„œ๋ฒ„๊ฐ€ ์—†๋‹ค.2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ทธ๋ƒฅ ํŒŒ์ผ์ด๋‹ค.3. ๋งค์šฐ ๊ฐ€๋ณ๋‹ค. โœ… ์„ค์น˜(macOS ๊ธฐ์ค€)brew install sqlite macOS์— ๊ธฐ๋ณธ ์„ค์น˜๋˜์–ด ์žˆ๋Š” sqlite๋ง๊ณ  homebrew๋กœ ์„ค์น˜ํ•œ sqlite๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ‘์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์„ค์ •ํŒŒ์ผ์„ ์—ด๊ณ ,code ~/.zshrc ํŒŒ์ผ ๋งจ ๋ฐ‘์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.# SQLite (Homebrew)export PATH="/opt/homebrew/opt/sqlite..