データの取得
テーブルに格納されたデータを取得するには SELECT 文を使います。ここでは SQLite で SELECT 文を使ったデータの取得方法について解説します。
(Last modified: )
SELECT文を使ったデータの取得
テーブルに格納されたデータを取得するには SELECT 文を使用します。基本となる書式は次の通りです。
SELECT カラム名1, カラム名2, ... FROM テーブル名;
取得するテーブル名を FROM のあとに記述します。そしてテーブルの中のどのカラムの値を取得するのかを SELECT の後に記述します。複数のカラムの値を取得する場合はカンマ(,)で区切ってカラムを指定してください。
なお条件式を指定してなければ、テーブルに含まれるすべてのデータを取得します。特定の条件を満たすデータだけを取得する方法は「取得するデータの条件を設定(WHERE句)」で解説します。
----
実際に試してみます。次のようなテーブルを作成しました。
create table user(id integer, name text, address text);
INSERT 文を使ってテーブルにデータをいくつか格納しておきます。
insert into user values(1, 'Yamada', 'Tokyo');
insert into user values(2, 'Kumada', 'Osaka');
insert into user values(3, 'Hoshi', 'Kyoto');
insert into user values(4, 'Endou', 'Tokyo');
insert into user values(5, 'Suzuki', 'Osaka');
それでは SELECT 文を使ってこのテーブルからデータを取得してみます。user テーブルの id カラムと name カラムの値を取得するには次のように実行します。
select id, name from user;
指定したテーブルの指定したカラムの値を取得することができました。
なお、取得したデータの表示の仕方は SQLite コマンドで変更できます。詳しくは「SQLiteコマンドの使い方」を参照して下さい。これ以降は次のように表示方法を変えて表示します。
.header on
.mode column
全てのカラムの値を取得する場合の記述方法
テーブルに含まれるすべてのカラムの値を取得したい場合は、 SELECT 文でカラムをすべて列挙することで取得することができます。
select id, name, address from user;
このようにカラムを指定する以外に、すべてのカラムを順番通りに取得する場合にはカラムの代わりにアスタリスク(*)を記述するとすべてのカラムを指定したのと同じ結果となります。
SELECT * FROM テーブル名;
では先ほどの user テーブルから * を使ってデータを取得してみます。
select * from user;
すべてのカラムの値を取得することができました。
なお rowid のような特別な値は * では取得できません。合わせて取得したい場合には * とカンマで区切って指定することで取得できます。
select *, rowid from user;
実際に試してみると、すべてのカラムの値に食わせて追加で指定した rowid の値も取得することができました。
-- --
SELECT 文を使ってテーブルからデータを取得する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。