データベースファイルを作る(SQLiteを学ぶ_3)

SQLiteを学んでいこうという連載の3回目です。前回の記事はこちらになります。

hirocom777.hatenadiary.org

前回は、Anaconda PromptからSQLiteを起動してその概要を見てみました。なんだかいろいろな機能がありますね。

SQLiteは起動時になにも指定せずに起動すると、インメモリデータベースに接続されています。この状態でもテーブルを作成したりデータを入力したりをすることができるのですが、これらの内容はSQLite終了時に消えてしまいます。そこで今回は、データベースファイルを作成して操作してみようと思います。

データベースファイルの作成と接続

SQLiteでデータベースファイルを作成する方法はシンプルです。起動時にファイル名を指定するだけです。

SQLite3 ファイル名

とすれば指定したファイル名でデータベースファイルが作成され接続されます。すでに同名のファイルがある場合は、そのファイルに接続されます。新規作成の場合、実際のファイルはテーブルを作成した際に作成されます。また、ドットコマンドの「.open ファイル名」でも同じ結果となります。SQLiteでは、ファイルの拡張子をとくに指定する必要はありません。この連載では「.db」で統一したいと思います。

テーブルの作成

次は作成したデータベースにテーブルを追加してみます。テーブルの追加はSQL文の「CREATE TABLE」で行います。書式は以下の通りです。

CREATE TABLE テーブル名(列名1 データ型,列名2 データ型,列名3 データ型・・・);

データ型の指定は必須ではありません。作成したテーブルの一覧を確認するにはドットコマンドの「.tables」を用います。また、作成したテーブルの削除はSQL文の「DROP TABLE」で行います。

DROP TABLE テーブル名;

ここまでの動作を確認してみましょう。Anaconda Promptから「SqLite3 C:\WORK\TEST.db」と入力して以下を実行してみました。

SQLite version 3.39.3 2022-09-05 11:02:23
Enter ".help" for usage hints.
sqlite> .show
        echo: off
         eqp: off
     explain: auto
     headers: off
        mode: list
   nullvalue: ""
      output: stdout
colseparator: "|"
rowseparator: "\n"
       stats: off
       width:
    filename: C:\WORK\TEST.db
sqlite> CREATE TABLE sample(id integer);
sqlite> .tables
sample
sqlite> DROP TABLE sample;
sqlite> .tables
sqlite> .exit

「.show」で確認してみると、「C:\WORK\TEST.db」に接続されている事を確認できます。続いて「CREATE TABLE」でテーブル「sample」を作成しました。 「.tables」で確認してみると、テーブルができいることを確認できます。「DROP TABLE」で削除すると、テーブルが削除されていることが判ります。

データ型

上記の「CREATE TABLE」で指定する列のデータ型ですが、以下の5つを選べます。

  • TEXT
  • NUMERIC
  • INTEGER
  • REAL
  • BLOB※

 ※BLOBは、Binary Large OBjectの略。任意のバイナリデータ。

入力データのデータ型とは異なるので気を付けてください。

入力データのデータ型は以下の5つです。

内容
NULL NULL値
INTEGER 符号付整数。値の大きさによって、1,2,3,4,6,8バイトのいずれかとなる
REAL IEEE浮動小数点数。8バイト
TEXT テキスト。文字セットはUTF-8,UTF-16BE,UTF-16-LEのいずれか
BLOB 入力データのまま

列のデータ型とは少し異なりますね。SQLiteは他のデータベースシステムと異なり、データに動的な型付けを使用します。データ型を指定した列でも色々な型のデータを入力できてしまいます。列のデータ型と入力データのデータ型が異なっていても、列のデータ型に合わせる形で入力データを変換して記録されます。

また、SQLiteにはブール型や日付/時間型のデータ型はありません。

次回は基本機能の確認

以上、今回はデータベースファイルの作り方、テーブルの追加・削除方法、列と入力データのデータ型についてご紹介しました。次回はデータベースの基本機能について確認していきたいと思います。お楽しみに!!

hirocom777.hatenadiary.org SQLite学習記事のまとめですはこちらから