SQL「INSERT INTO」の使い方とは?構文からデータ挿入方法まで解説
SQLは、世界的に利用されているデータベース言語の1つです。
大量のデータを取得したり、更新や削除を行ったりと、幅広いシーンで活用されています。
本記事では、SQLの中でも特に使用頻度が高い「INSERT INTO」について詳しく解説します。
「INSERT INTO」とは?
INSERT INTOとは、データベースのテーブルにデータを登録する際に使用するステートメントです。
「挿入する」という意味を持つ通り、新しい情報をテーブルへ追加する役割を担っています。
SQLは、大規模なデータの操作や効率的なデータ変更を行うために欠かせない言語です。
一般的に、DBMS(データベース管理システム)を制御するために使用され、リレーショナルデータベースに対して命令を送ります。
リレーショナルデータベースは、相互に関連するデータポイントをテーブル形式で管理する仕組みのことです。
一見すると複雑そうに見えますが、基本の書き方を覚えれば汎用的に活用できます。
INSERT INTOの基礎知識
テーブルに新しいデータを登録するための基本命令です。
SQLの中でも最も頻繁に使用されるステートメントの1つです。
リレーショナルデータベースを操作するための標準的な構文です。
「INSERT INTO」を使う場面
INSERT INTOは、特定のテーブルに新しいレコードを追加したい場面で使用されます。
データベース内には複数のテーブルが存在し、それぞれデータの種類ごとに分類して保存されています。
このテーブルの構造は、Excelのシートをイメージすると非常に分かりやすいです。
Excelにおける「行」にあたる部分を、データベースでは「レコード」と呼びます。
会員サイトの新規登録や、ECサイトの注文履歴の保存など、情報を蓄積するあらゆる場面でこの構文が活躍します。
「INSERT INTO」の基本構文
SQLを使いこなすために、まずはINSERT INTOの基本的な書き方を確認しましょう。
基本構文の書式
最も一般的なのは、登録先となるテーブルの列名を指定して値を挿入する方法です。
INSERT INTO テーブル名 (列名1, 列名2,…) VALUES (値1, 値2,…);
この書式では、指定した列名とVALUES句の中身が順番に対応する仕組みになっています。
また、MySQLなどの特定の環境では、関数を用いて動的な値を挿入することも可能です。
例えば、現在の日付から曜日を取得して自動的に登録するといった高度な処理も行えます。
実際のクエリ
「サブクエリ」を利用すると、別のテーブルから取得した結果をそのまま挿入することができます。
既存のデータを活用して新しいレコードを作成したい場合に非常に効率的な手法です。
INSERT INTO students (stu_no, mgr_name) VALUES (‘00101’, (SELECT name FROM staff WHERE id = ‘A1’));
MySQLで「INSERT INTO」を使ってみよう
MySQLは、世界中で広く利用されているオープンソースのリレーショナルデータベースです。
現在はOracle社が提供しており、誰でも自由に使用できるのが大きな特徴です。
知識を定着させるために、実際に手を動かしながら操作手順を確認してみましょう。
MySQLにログイン
まずはMySQLサーバーにログインし、操作可能な状態にする必要があります。
インストールが済んでいない場合は、Homebrewなどのパッケージ管理ツールから導入してください。
$ sudo mysql -u root -p
テーブルの作成
データを挿入する前に、まずは器となるデータベースとテーブルを作成します。
「CREATE DATABASE」で箱を作り、その後「USE」コマンドで使用するデータベースを指定します。
準備ができたら、以下のようなコマンドでデータの項目を定義したテーブルを作成しましょう。
CREATE TABLE foods(food_id INT, name VARCHAR(50), price INT);
レコードの追加
いよいよINSERT INTOを用いて、テーブルにレコードを追加していきます。
単一のレコードを追加
まずは、1件のデータを登録する最もシンプルな操作を試してみましょう。
INSERT INTO foods(food_id, name, price) VALUES(1, ‘Apple’, 100);
実行後に「Query OK」と表示されれば、正常に挿入が完了したサインです。
複数のレコードを追加
一度の命令で複数のレコードをまとめて追加することも可能です。
INSERT INTO foods(food_id, name, price) VALUES(2, ‘Beef’, 400), (3, ‘Chicken’, 800);
VALUESの後にカンマ区切りで値を並べることで、効率的にデータを登録できます。
まとめ
本記事では、SQLの基本であるINSERT INTOの使い方について幅広く解説しました。
データの追加はデータベース操作の第一歩であり、全ての開発の土台となる重要な処理です。
一見すると難しそうなSQLですが、実際に動かしてみることで直感的に理解できるはずです。
まずはこのINSERT文をマスターし、自由自在にデータを操れるエンジニアを目指しましょう。
正しい知識を身につけることで、あらゆる業務の効率化を大きく進めることが可能です。
よくある質問
INSERT INTOとはどのような意味ですか?
データベースのテーブルに新しいデータを登録するための命令です。日本語では「〜の中に挿入する」という意味合いを持ちます。
一度にたくさんのデータを追加できますか?
はい、可能です。VALUES句の後に複数の値をカンマで区切って記述することで、一度の命令で大量のレコードを一括登録できます。
