SQLite クラシック チュ...ログイン
SQLite クラシック チュートリアル
著者:php.cn  更新時間:2022-04-13 17:05:02

SQLite Select ステートメント


SQLite の SELECT ステートメントは、SQLite データベース テーブルからデータを取得し、結果テーブルの形式でデータを返すために使用されます。これらの結果テーブルは結果セットとも呼ばれます。

構文

SQLite の SELECT ステートメントの基本構文は次のとおりです:

SELECT column1, column2, columnN FROM table_name;

ここで、column1、column2... はテーブルのフィールドとその値です。を入手してください。利用可能なフィールドをすべて取得したい場合は、次の構文を使用できます:

SELECT * FROM table_name;

Example

COMPANY テーブルに次のレコードがあるとします:

ID ALARY
---- - ----- ---------- ---------- ---------- ----------
1 ポール 32 カリフォルニア20000.0
2 アレン 25 テキサス 15000.0
3 テディ 23 ノルウェー 20000.0
4 マーク 25 リッチモンド 65000.0
5 デビッド 27 テキサス 85000.0
6 キム 22 サウスホール 45000.0
7 ジェームス 24 10000.0

以下は、SELECT ステートメントを使用してこれらすべてのレコードを取得して表示する例です。ここでは、最初の 3 つのコマンドを使用して、適切にフォーマットされた出力をセットアップします。

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;

最終的に、次の結果が得られます:

ID名前 住所 給与
-------- ---------------------------------
1 ポール 32 カリフォルニア 20000.0
2 アレン 25 テキサス 15000.0
3 テディ 23 ノルウェー20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 450 00.0
7 James 24 Houston 10000.0

COMPANY テーブル フィールドで指定されたデータのみを取得したい場合は、次のクエリ:

sqlite> SELECT ID、NAME、SALARY FROM COMPANY;

上記のクエリは次の結果を生成します

ID給与
すべてen 15000.0
3 Teddy 20000.0
4 Mark 65000.0
5 David 85000.0
6 Kim 45000.0
7 James 10000.0

出力列の幅を設定します

表示される列のデフォルトの幅

.mode column

が原因で、出力が切り詰められる場合があります。この時点で、次のように .width num, num.... コマンドを使用して表示列の幅を設定できます:

sqlite>.width 10, 20, 10
sqlite>SELECT * FROM会社;

上記の .width コマンドは、最初の列の幅を 10 に、2 番目の列の幅を 20 に、そして 3 番目の列の幅を 10 に設定します。したがって、上記のSelectステートメントは次の結果を取得します。 25 リッチモンド 65000.0

5 サウスホール4500沖0.0
7 James 24 Houston 10000.0


スキーマ情報

すべての
dot コマンドは SQLite プロンプトでのみ使用できるため、SQLite でプログラミングするときは、データベース内に作成されたすべてのテーブルをリストするには、
sqlite_master
テーブルで次の SELECT ステートメントを使用します:
http://php.cn/sqlite/sqlite-select.html

一意の COMPANY テーブルが testDB.db に既に存在すると仮定すると、次の結果が生成されます:

tbl_name
----------
COMPANY

COMPANY テーブルに関する完全な情報をリストできます。以下に示すように:

sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';

唯一の COMPANY テーブルが testDB.db にすでに存在すると仮定すると、次の結果が生成されます。

CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
)