INSERTクエリについての詳細な解説と使用例。新しいレコード追加の基本から応用まで学べます。
INSERT は データベースに新しいレコード(行)を追加するためのクエリです。
単一のレコード追加だけでなく、複数レコードの一括挿入や、他のテーブルから取得したデータの挿入も可能です。
単一のユーザーレコードをusersテーブルに追加
クエリを実行してください
複数の商品レコードを一度にproductsテーブルに追加
クエリを実行してください
複数のユーザーを一括で追加(複数VALUES)
クエリを実行してください
30歳以上のユーザーを別テーブルにコピー(SELECT結果をINSERT)
クエリを実行してください
列を指定せずINSERTすることは非推奨
必ずテーブル定義の順序通りにすべての値を指定する必要があり、スキーマ変更に弱い。
実務では必ず対象列を明示すること。
自動採番(AUTO_INCREMENT)されるIDは指定しない
ほとんどのDBではID列は指定せず、自動で値が割り当てられる。
NULL値の挿入に注意
NOT NULL制約がある列にはNULLを挿入できない。DEFAULT値がある場合は DEFAULT キーワードを使用。
大量データ挿入時はトランザクション処理を考慮
パフォーマンスと安全性の両面から、適切なバッチサイズで分割挿入することが重要。
- ユーザー登録フォーム送信時に新規ユーザーを登録
- 商品情報を管理画面から追加
- APIから取得したデータを定期的にDBに保存
- 他のテーブルのデータをバックアップテーブルにコピー
- バッチ処理で大量のレコードを一括投入
#25 新しいユーザーを追加
practice_insert_usersテーブルにid=6、名前「中村陽子」、メール「nakamura@example.com」、年齢29のレコードを追加してください。
#26 電子機器カテゴリの商品を追加
practice_insert_productsテーブルにid=6、名前「USBメモリ」、価格1800、カテゴリ「電子機器」の商品を追加してください。
#27 新しい注文を追加
practice_insert_ordersテーブルにid=6でユーザー1が商品2を3個購入した注文(注文日2024-01-20)を追加してください。
#28 複数ユーザーを一度に追加
practice_insert_usersテーブルに松本紗季(id=7, email: matsumoto@example.com, 年齢27)と小林優(id=8, email: kobayashi@example.com, 年齢31)を1つのINSERT文で追加してください。