SQLite3で任意のテーブルに挿入しているレコード数を取得してみる

SQLite3で任意のテーブルに挿入したデータ(レコード)数を出力してみます。

使用するデータはパイソンでgimeiでSQLite3のテストデータを用意してみるで作成したものを使いまして、今回はmoney(所持金)の合算を出力してみます。

※ sample.sqlite3のパスが/path/to/dir/sample.sqlite3で話を進めます。


# sample.sqlite3があるディレクトリまで移動
$ cd /path/to/dir
$ sqlite3 sample.sqlite3

sqlite> SELECT COUNT(*) FROM users;
+----------+
| COUNT(*) |
+----------+
| 1000      |
+----------+

のような結果が出力されました。


今までは

SELECT * FROM テーブル名

のようにSELECTの後に * にしていましたが、COUNT関数で * を代入することで、任意のテーブルに挿入したデータ(レコード)数をカウントして出力します。

SQLite COUNT Function: Count Items In A Group


sqlite> SELECT COUNT(id) FROM users;

のようにCOUNT関数にPRIMARY KEY制約が付いたカラムを指定すると、演算速度が速くなります。


sqlite> select COUNT(id) AS count FROM users;
+-------+
| count |
+-------+
| 1000   |
+-------+

のようにCOUNT(id)の後にAS countを付けることで、出力内容を変更することができます。

京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。