SQLの基本操作をマスターしよう!

docs

前回、説明したJDBCで使用するSQLを今回説明していきます。
SQLは、データベースを操作するための言語です。難しそうに聞こえるかもしれませんが、いくつかの基本的なコマンドを覚えれば、データの検索、追加、更新、削除が簡単にできるようになります。今回は、特に使う頻度の高いSELECTINSERTUPDATEDELETEの4つのコマンドに絞って、それぞれの使い方をじっくり見ていきましょう!

1. データの検索:SELECT文

データベースに保存されているデータを見たいときに使うのがSELECT文です。Excelでいうところの「フィルターをかけてデータを見る」ようなイメージですね。

基本の形

SQL

SELECT カラム名 FROM テーブル名;

カラム名には見たいデータの項目(列)を、テーブル名にはデータが保存されている場所(表)を指定します。

例を見てみよう

例えば、usersというテーブルがあって、その中にidnameageという情報が入っているとしましょう。

idnameage
1山田太郎25
2佐藤花子30
3田中一郎22

例1:全てのカラムを表示

テーブルの中身を全部見たいときは、カラム名の代わりに*(アスタリスク)を使います。

SQL

SELECT * FROM users;

実行結果:

idnameage
1山田太郎25
2佐藤花子30
3田中一郎22

例2:特定のカラムだけ表示

名前と年齢だけ見たい場合は、カンマ区切りでカラム名を指定します。

SQL

SELECT name, age FROM users;

実行結果:

nameage
山田太郎25
佐藤花子30
田中一郎22

例3:条件をつけて絞り込む (WHERE句)

「25歳以上の人だけ見たいな」というときは、WHERE句を使って条件を指定します。

SQL

SELECT * FROM users WHERE age >= 25;

実行結果:

idnameage
1山田太郎25
2佐藤花子30

WHERE句では、他にも様々な条件を指定できます。

  • =:等しい
  • != または <>:等しくない
  • >:より大きい
  • <:より小さい
  • >=:以上
  • <=:以下
  • AND:かつ(複数の条件を組み合わせる)
  • OR:または(複数の条件のいずれかを満たす)
  • LIKE:あいまい検索(例: name LIKE '山%' で「山」で始まる名前を検索)
  • IN:複数の値のいずれかに一致(例: age IN (25, 30) で年齢が25か30の人を検索)

2. データの追加:INSERT文

新しいデータをデータベースに追加したいときに使うのがINSERT文です。

基本の形

SQL

INSERT INTO テーブル名 (カラム名1, カラム名2, ...) VALUES (値1, 値2, ...);

データを追加したいテーブル名と、そのテーブルのどのカラムに、どんなを入れるかを指定します。

例を見てみよう

先ほどのusersテーブルに新しいユーザーを追加してみましょう。

例1:全てのカラムに値を追加

すべてのカラムに順番通り値を入れる場合は、カラム名を省略できます。

SQL

INSERT INTO users VALUES (4, '鈴木健太', 28);

実行後、SELECT * FROM users;の結果:

idnameage
1山田太郎25
2佐藤花子30
3田中一郎22
4鈴木健太28

例2:特定のカラムに値を追加

例えば、最初は名前だけ登録しておいて、年齢は後で登録する、というような場合です。この場合、値を入れないカラムはNULLになります。

SQL

INSERT INTO users (id, name) VALUES (5, '高橋優子');

実行後、SELECT * FROM users;の結果:

idnameage
1山田太郎25
2佐藤花子30
3田中一郎22
4鈴木健太28
5高橋優子NULL

3. データの更新:UPDATE文

既存のデータを変更したいときに使うのがUPDATE文です。

基本の形

SQL

UPDATE テーブル名 SET カラム名1 = 新しい値1, カラム名2 = 新しい値2, ... WHERE 条件;

どのテーブルの、どのカラムを、どんな新しい値に更新するかを指定します。そして、最も重要なのがWHEREです。これを付け忘れると、テーブル内の全データが更新されてしまうので、細心の注意が必要です!

例を見てみよう

usersテーブルのデータを更新してみましょう。

例1:特定のユーザーの情報を更新

IDが5の「高橋優子」さんの年齢を27歳に更新してみます。

SQL

UPDATE users SET age = 27 WHERE id = 5;

実行後、SELECT * FROM users;の結果:

idnameage
1山田太郎25
2佐藤花子30
3田中一郎22
4鈴木健太28
5高橋優子27

例2:複数のカラムを同時に更新

IDが1の「山田太郎」さんの名前を「山田一郎」、年齢を26歳に更新してみます。

SQL

UPDATE users SET name = '山田一郎', age = 26 WHERE id = 1;

実行後、SELECT * FROM users;の結果:

idnameage
1山田一郎26
2佐藤花子30
3田中一郎22
4鈴木健太28
5高橋優子27

4. データの削除:DELETE文

データベースからデータを削除したいときに使うのがDELETE文です。

基本の形

SQL

DELETE FROM テーブル名 WHERE 条件;

どのテーブルからデータを削除するかを指定します。UPDATE文と同じく、WHERE句がとても重要です。これを付け忘れると、テーブル内の全データが削除されてしまうので、本当に本当に注意してください!

例を見てみよう

usersテーブルのデータを削除してみましょう。

例1:特定のユーザーを削除

IDが3の「田中一郎」さんを削除してみます。

SQL

DELETE FROM users WHERE id = 3;

実行後、SELECT * FROM users;の結果:

idnameage
1山田一郎26
2佐藤花子30
4鈴木健太28
5高橋優子27

例2:複数条件で削除

年齢が25歳以下の人を削除してみます。

SQL

DELETE FROM users WHERE age <= 25;

実行後、SELECT * FROM users;の結果:

idnameage
2佐藤花子30
4鈴木健太28
5高橋優子27

まとめ

今回はSQLの基本的な操作であるSELECTINSERTUPDATEDELETEの4つの文について学びました。

  • SELECT: データベースからデータを検索するときに使うよ!
  • INSERT: データベースに新しいデータを追加するときに使うよ!
  • UPDATE: データベースの既存のデータを更新するときに使うよ!
  • DELETE: データベースからデータを削除するときに使うよ!

特にUPDATEDELETEWHERE句を付け忘れると大変なことになるので、常に意識して使ってくださいね!

これらの基本をマスターすれば、データベースを使ったアプリケーション開発の第一歩を踏み出せます。次回は、これらのSQL文をJavaのプログラムからどうやって実行するのか、JDBCについて解説していく予定です。

それでは、また次回の記事でお会いしましょう!

コメント

タイトルとURLをコピーしました