Webサイト制作コースのお申し込みはこちら

SQLのレコードについてまとめてます。

SQLのレコードの検索、追加、更新、削除

SQLのレコードとは、テーブルに格納されたデータのことを指します。

SQLのレコードを検索するにはselect、追加するにはinsert、更新するにはupdate、削除するにはdeleteを使います。

以下は、SQLレコードの検索をおこなうサンプルです。where句に条件指定して、条件に合致したレコードを抽出してます。

select * from employees 
where 	emp_no < 20000 
	and first_name like 'A%' 
	and gender = 'F'
	limit 10;
+--------+------------+------------+--------------+--------+------------+
| emp_no | birth_date | first_name | last_name    | gender | hire_date  |
+--------+------------+------------+--------------+--------+------------+
|  10006 | 1953-04-20 | Anneke     | Preusig      | F      | 1989-06-02 |
|  10059 | 1953-09-19 | Alejandro  | McAlpine     | F      | 1991-06-26 |
|  10094 | 1957-05-25 | Arumugam   | Ossenbruggen | F      | 1987-04-18 |
|  10120 | 1960-03-26 | Armond     | Fairtlough   | F      | 1996-07-06 |
|  10145 | 1956-03-30 | Akemi      | Esposito     | F      | 1987-08-01 |
|  10154 | 1957-01-17 | Abdulah    | Thibadeau    | F      | 1990-12-12 |
|  10175 | 1960-01-11 | Aleksandar | Ananiadou    | F      | 1988-01-11 |
|  10190 | 1964-12-11 | Arve       | Fairtlough   | F      | 1986-06-23 |
|  10206 | 1960-09-19 | Alassane   | Iwayama      | F      | 1988-04-19 |
|  10260 | 1961-07-14 | Alper      | Suomi        | F      | 1991-04-13 |
+--------+------------+------------+--------------+--------+------------+
10 rows in set (0.05 sec)

以下は、テーブル構造を複製した空のテーブルに、レコードを追加するサンプルです。

mysql> create table employees_copy like employees;
Query OK, 0 rows affected (0.04 sec)

mysql> select count(*) from employees_copy;
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

INSERT `employees_copy`(
	`emp_no`, `birth_date`, `first_name`, `last_name`, `gender`, `hire_date`
) 
VALUES 
    ( 4, '1982-01-01', 'Siro', 'Takahashi', 'M', '2003-07-01' ),
    ( 5, '1979-08-12', 'Yuji', 'Satoh', 'M', '2003-04-05' ),
    ( 6, '1981-12-05', 'Kyoko', 'Shimada', 'F', '2005-09-01' ),
    ( 7, '1975-03-15', 'Yuri', 'Ooishi', 'F', '2004-04-15' );
Query OK, 4 rows affected (0.10 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> select * from employees_copy;
+--------+------------+------------+-----------+--------+------------+
| emp_no | birth_date | first_name | last_name | gender | hire_date  |
+--------+------------+------------+-----------+--------+------------+
|      4 | 1982-01-01 | Siro       | Takahashi | M      | 2003-07-01 |
|      5 | 1979-08-12 | Yuji       | Satoh     | M      | 2003-04-05 |
|      6 | 1981-12-05 | Kyoko      | Shimada   | F      | 2005-09-01 |
|      7 | 1975-03-15 | Yuri       | Ooishi    | F      | 2004-04-15 |
+--------+------------+------------+-----------+--------+------------+
4 rows in set (0.00 sec)

【関連記事】
SQLクエリのサンプルコード集 テーブル生成、select、insertなど

以下は、対象レコードを更新するサンプルです。

UPDATE table1 
SET price=498 
WHERE pid=1020190830;

【関連記事】
MySQLのUPDATEの基本とデータベースに格納された値を効率よく変更する方法

以下は、レコードを削除するサンプルです。where句に削除条件を記述することができます。

DELETE FROM `employees_copy` 
WHERE emp_no > 20000

【関連記事】
MySQL deleteのサンプルコード集 複数テーブルの削除やエイリアス制限とは | 「ポテパンスタイル」

SQLでレコード数をカウントするには、count()

レコード数をカウントするには、select文でcount()関数を使用します。以下は、group byでグルーピングしたレコードのグループごとの件数を抽出するサンプルです。

SELECT 
	title, 
	count(*)
FROM 
	titles 
WHERE 
	to_date="9999-01-01"
group by
	title;
+--------------------+----------+
| title              | count(*) |
+--------------------+----------+
| Senior Engineer    |    85939 |
| Staff              |    25526 |
| Senior Staff       |    82024 |
| Engineer           |    30983 |
| Assistant Engineer |     3588 |
| Technique Leader   |    12055 |
| Manager            |        9 |
+--------------------+----------+
7 rows in set (1.08 sec)

まとめ

ポテパンダの一言メモ
  • SQLのレコードとは、テーブルに格納されたデータそのものを指す。
  • レコードの操作は、select、insert、update、deleteでおこなう。
  • レコード数のカウントはselect文にcount()関数を組み合わせる。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。