NULL, name VARCHAR(32) NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY (id) ); CREATE TABLE blogs ( id BIGINT NOT NULL, -- ϒϩάΛ͍࣋ͬͯΔϢʔβʔͷ id user_id BIGINT NOT NULL, title VARCHAR(50) NOT NULL, description VARCHAR(512), PRIMARY KEY (id) ); IBUFOBJOUFSO !"
ͷϨίʔυΛݕࡧ SELECT * FROM users WHERE id = 1; +----+-----------------+---------------------+ | id | name | created_at | +----+-----------------+---------------------+ | 1 | ͯͳଠ | 2024-08-19 16:30:00 | +----+-----------------+---------------------+ 1 row in set (0.00 sec) IBUFOBJOUFSO !!
UPDATE users SET name = 'ͯͳೋ' WHERE id = 1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 -- ҙ! WHERE ۟Ͱߋ৽ରΛࢦఆ͠ͳ͚ΕɺςʔϒϧͷϨίʔυ͕શ݅ߋ৽͞ΕΔ UPDATE users SET name = 'ͯͳೋ'; WHERE 句から書き始めるのがエンジニアしぐさ。⼿が勝⼿に Enter を押しても安全 ! MySQL :: MySQL !.* リファレンスマニュアル :: 13.2.13 UPDATE ステートメント IBUFOBJOUFSO !"
でまとめて表現することもできる -- id͕ 1 ͔ 2 ͔ 3 ͷϨίʔυΛݕࡧ SELECT * FROM users WHERE id = 1 OR id = 2 OR id = 3; -- ্ͷ SQL Λ IN Λͬͯॻ͘ SELECT * FROM users WHERE id IN (1, 2, 3); • LIKE: ⽂字列のパターンマッチング -- name ͕ "ͯͳ" ͔Β࢝·ΔϨίʔυΛݕࡧ -- `%` ϫΠϧυΧʔυจࣈͰɺҙͷ0จࣈҎ্ͷจࣈྻΛද͢ SELECT * FROM users WHERE name LIKE 'ͯͳ%'; IBUFOBJOUFSO !"
NOT NULL, name VARCHAR(32) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE blogs ( id BIGINT NOT NULL, user_id BIGINT NOT NULL, title VARCHAR(254) NOT NULL, description VARCHAR(512) NOT NULL, PRIMARY KEY (id) ); IBUFOBJOUFSO !"
FROM users WHERE id = 100000; なら、テーブルの先頭か ら1件ずつ⾒ていって id が 100000 に⼀致するものを探す • インデックスはテーブルを検索するために最適なデータ構造で保存される • MySQL で使われているのは B+Tree IBUFOBJOUFSO !"
parent_id 発⾔者 コメント 4 NULL Fran このバグの原因は何かな? D 4 Ollie ヌルポインターのせいじゃないかな? Q D Fran そうじゃないよ。それは確認済みだ。 \ 4 Kukla 無効な⼊⼒を調べてみたら? j \ Ollie そうか、バグの原因はそれだな。 l \ Fran よし、じゃあチェック機能を追加して もらえるかな? z l Kukla 了解。修正したよ。 IBUFOBJOUFSO !!"