MySQLでテーブルの行数を確認する方法|COUNT(*)の使い方を実例で解説
MySQLデータベースのテーブルに格納されている行数(レコード数)を確認したい場合は、集計関数 COUNT(*) を使用します。この記事では、基本的な構文から実際にテーブルを作成して行数を取得するまでの手順を、サンプルコード付きでわかりやすく解説します。
行数を取得するための基本構文
テーブルの総行数を取得するには、以下のように SELECT 文と COUNT(*) を組み合わせます。
SELECT COUNT(*) FROM テーブル名;
それでは、実際にテーブルを作成しながら動作を確認していきましょう。
サンプルテーブルの作成
まず、動作確認用のテーブルを作成します。以下のクエリを実行してください。
mysql> create table CountRowsDemo
- > (
- > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
- > Name varchar(20)
- > );
Query OK, 0 rows affected (0.78 sec)このテーブルは、自動採番される「Id」カラムと、名前を格納する「Name」カラムで構成されています。
テストデータの挿入
次に、INSERT コマンドを使って複数のレコードを挿入します。あえてNULL値を含むデータも登録している点に注目してください。
mysql> insert into CountRowsDemo(Name) values(NULL);
Query OK, 1 row affected (0.15 sec)
mysql> insert into CountRowsDemo(Name) values('Sam');
Query OK, 1 row affected (0.25 sec)
mysql> insert into CountRowsDemo(Name) values(NULL);
Query OK, 1 row affected (0.11 sec)
mysql> insert into CountRowsDemo(Name) values('Mike');
Query OK, 1 row affected (0.21 sec)
mysql> insert into CountRowsDemo(Name) values('David');
Query OK, 1 row affected (0.11 sec)
mysql> insert into CountRowsDemo(Name) values(NULL);
Query OK, 1 row affected (0.11 sec)
mysql> insert into CountRowsDemo(Name) values(NULL);
Query OK, 1 row affected (0.09 sec)
mysql> insert into CountRowsDemo(Name) values('Carol');
Query OK, 1 row affected (0.17 sec)登録されたレコードの確認
SELECT 文ですべてのレコードを表示してみましょう。
mysql> select *from CountRowsDemo;
実行結果は以下の通りです。
+----+-------+ | Id | Name | +----+-------+ | 1 | NULL | | 2 | Sam | | 3 | NULL | | 4 | Mike | | 5 | David | | 6 | NULL | | 7 | NULL | | 8 | Carol | +----+-------+ 8 rows in set (0.00 sec)
合計8件のレコードが登録されており、そのうち4件はNameカラムがNULLになっています。
COUNT(*)で行数を取得する
それでは、COUNT(*) を使ってテーブルの行数をカウントしてみましょう。結果を見やすくするために、AS 句で別名「TotalRows」を付けています。
mysql> select count(*) AS TotalRows from CountRowsDemo;
実行結果は以下の通りです。
+-----------+ | TotalRows | +-----------+ | 8 | +-----------+ 1 row in set (0.00 sec)
テーブル内の全行数である「8」が返されました。
補足:COUNT(*)とCOUNT(列名)の違い
COUNT(*) はNULL値を含むすべての行をカウントします。一方、COUNT(列名) のように特定のカラムを指定した場合は、そのカラムがNULLでない行のみがカウントされます。今回の例で SELECT COUNT(Name) FROM CountRowsDemo; を実行すると、結果は「4」となります。用途に応じて使い分けるようにしましょう。
-
MySQLで現在選択中のデータベースを確認する方法|DATABASE()関数とstatusコマンドの使い方
MySQLに接続している際、「今どのデータベースを選択しているのか」を確認したい場面はよくあります。この記事では、DATABASE()関数やstatusコマンドを使って、現在選択中のデータベース名を簡単に確認する方法を解説します。 DATABASE()関数で選択中のデータベースを確認する MySQLでは、DUALテーブルに対してDATABASE()関数を実行することで、現在選択されているデータベース名を取得できます。 手順1:データベースを選択する まず、例として「business」というデータベースを選択してみましょう。以下のコマンドを実行します。 mysql> use busi
-
MySQLで複数の行(レコード)が存在するかどうかを確認するクエリの書き方
MySQLでは、COUNT(DISTINCT ...) を活用することで、指定した複数の行(レコード)がテーブル内にすべて存在するかどうかを簡単に確認できます。この記事では、具体的なサンプルを使って手順を解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。 mysql> create table DemoTable1219 ( Id int, Name varchar(40) ); Query OK, 0 rows affected (0.43 sec) 2. テストデータを挿入する INSERT コマンドを使って、いくつかのレコー