ã2026幎çãSQLã®å§ãæ¹ â ããŒã¿ããŒã¹æäœã®åºæ¬ãå®å šã¬ã€ã
- SELECTã»INSERTã»UPDATEã»DELETE ã®åºæ¬
- WHEREã»JOIN ã®äœ¿ãæ¹
- ããŒã«ã«ç°å¢ïŒSQLiteïŒã§ã®å®è·µæ¹æ³
- ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®åºæ¬æŠå¿µ
SQLã³ãã³ãæ©èŠè¡š
-- ããŒãã«äœæ
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE
);
-- ããŒã¿æ¿å
¥
INSERT INTO users (name, email) VALUES ('ã²ãã', 'chick@example.com');
-- ããŒã¿ååŸ
SELECT * FROM users;
SELECT name FROM users WHERE id = 1;
-- ããŒã¿æŽæ°
UPDATE users SET name = 'ãã³ã®ã³' WHERE id = 1;
-- ããŒã¿åé€
DELETE FROM users WHERE id = 1;
-- ããŒãã«çµå
SELECT users.name, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id;
ããŒã«ã«ç°å¢ã§ã®å§ãæ¹ïŒSQLiteïŒ
# SQLite3ã®ã€ã³ã¹ããŒã«ïŒmacOS ã¯ããã©ã«ãã§å
¥ã£ãŠããå Žåãå€ãïŒ
# Ubuntu/Debian:
sudo apt install sqlite3
# Windows: sqlite.orgããããŠã³ããŒãããŠPATHã«è¿œå
# èµ·å
sqlite3 mydb.db
# çµäº
.quit
ããããè©°ãŸããã€ã³ã
Q: SELECT * ãæ¬çªç°å¢ã§äœ¿ã£ãŠããã®ïŒ
â éçºã»åŠç¿ã§ã¯äŸ¿å©ã§ãããæ¬çªç°å¢ã§ã¯å¿
èŠãªã«ã©ã ã ããæå®ãã SELECT name, email FROM users ã®ããã«æžãã®ããã¹ããã©ã¯ãã£ã¹ã§ããããã©ãŒãã³ã¹ãšã»ãã¥ãªãã£ã®èгç¹ããæšå¥šãããŸãã
Q: JOIN ã®çš®é¡ïŒINNER/LEFT/RIGHTïŒãããããªã
â æå㯠INNER JOINïŒäž¡æ¹ã®ããŒãã«ã«äžèŽãããã®ïŒãš LEFT JOINïŒå·ŠããŒãã«ã¯å
šä»¶ãå³ããŒãã«ã¯äžèŽãããã®ïŒã®2çš®é¡ãèŠããã°ååã§ãã
Q: NULL ã®æ±ããé£ãã
â NULLã¯ãå€ããªããããšãæå³ãã= NULL ã§ã¯ãªã IS NULL ã§æ€çŽ¢ããŸããCOALESCE(å€, ããã©ã«ãå€) ã§NULLãå¥ã®å€ã«çœ®ãæããããŸãã