【SQL基礎】INSERT文の基本構文
INSERT文の基本構文
テーブルにデータを挿入するには、INSERT文を使います。
INSERT文の基本構文は以下の通りです。
INSERT INTO テーブル名 (カラム名1, カラム名2, ……)
VALUES (値1, 値2, ……);
INSERT INTOの後に対象のテーブルとカラムを指定します。
VALUES句には挿入したい値を指定します。
注意点
・カラム名と値はそれぞれ()で括ります。
・カラム名の順序と値の順序を対応させる必要があります。
・カラムと値はカンマで区切ります。
・VARCHAR型などの文字列はシングルクォーテーションで括ります。
(参考:【SQL基礎】データ型とは)
INSERT文の実行例
では、実際に以下のテーブル(テーブル名:teachers)にデータを挿入してみましょう。
例1.idが4、nameがテツヒコ、addressが東京都、ageが30のレコードを挿入する。
INSERT INTO teachers (id, name, address, age) VALUES (4, ‘テツヒコ’, ‘東京都’, 30);
テーブルを確認すると以下のように表示され、データが挿入されたことがわかります。
カラム名の省略
対象のテーブルに存在するすべてのカラムを指定する場合は、カラム名を省略することができます。
例2.idが5、nameがヒロシ、addressが神奈川県、ageが25のレコードを挿入する。※カラム名を省略して実行する。
INSERT INTO teachers VALUES (5, ‘ヒロシ’, ‘神奈川県’, 25);
カラム名を省略してもデータは問題なく挿入されています。
MySQLを含む一部のデータベースでのみ使える書き方
一部のデータベースでのみ使える書き方というのも存在します。
MySQLではINTO句が省略可能であり、VALUES句をVALUEと書くことも可能です。
例3.idが6、nameがユウタ、addressが千葉県、ageが27のレコードを挿入する。※INTO句を省略し、VALUES句をVALUEと書いて実行する。
INSERT teachers VALUE (6, ‘ユウタ’, ‘千葉県’, 27);
INTO句を省略しVALUES句をVALUEと書いてもデータは問題なく挿入されています。
今回の学習ポイント
・データを挿入するにはINSERT文を使用する。
・テーブルに存在するすべてのカラムを指定する場合にはカラム名は省略できる。
・MySQL等の一部のデータベースでのみ使える書き方も存在する。
練習問題
以下からダウンロード可能です。
また、ダウンロードしたら以下のようにしてworldcup2014データベースを作成し、インポートしてください。
※worldcup2014.zip解凍してできるworldcup2014.sqlファイルをCドライブ直下に配置した場合。 [sql] CREATE DATABASE worldcup2014;
use worldcup2014
source C:\worldcup2014.sql
[/sql]
playersテーブルはid, country_id, uniform_num, position, name, club, birth, height, weightの9カラムで構成されています。
1.以下のSQLを実行しようとしましたが、うまくいきませんでした。
原因は何でしょうか。
INSERT INTO players (id, uniform_num, name, club) VALUES (999, 99, タロウ, チームSAK);
2.playersテーブルにイチロウ選手を登録してください。
背番号は51、所属チームはオリナーズ、idは1000としてください。