Top > SQLite > データベースの作成


プログラムの起動と終了

SQLite の起動
$ sqlite3 test.sqlite
$ sqlite3 [ファイル名]
基本的に、sqlite3 [ファイル名]で起動し、ファイル名はデータを保存する ファイルパスになる。絶対パスでも相対パスでもOK。
SQLite の終了
sqlite> .exit
sqlite> .quit
sqlite> .q
上記の3つのうち、どれをタイプしても終了することができる。

データベースの作成

SQLite では、データベース作成のコマンドはない。 上記のように、プログラム起動時に、 データベースファイル名を指定することで作成する。 指定したファイルが存在しなければ、自動的に作成される。

作成するデータベースのファイル名は、拡張子を「.sqlite」や「.db」 とするなど、他のファイルと見分けが付くようにしておくことをお勧めする。 なお、日本語は使えません

現在接続しているデータベースの確認方法
sqlite> .databases
seq name                file
--- ------------------- ---------------------------
0   main                /home/foo/test.sqlite

テーブルの作成

テーブルの作成とは、Excel で言うところの

  • シートの挿入
  • 列の名前を定義する

とほぼ等しい。この後に入力するデータは、作成したテーブルに蓄積されていく。 テーブル名には日本語も使用可能だが、Webアプリ等で使用する場合は 避けたほうが良い。また、

  • 数字で始まるテーブル名
  • sqlite_ で始まるテーブル名

は使用できません。

例として、t_menu というテーブルを作成する。 id と name という名前のカラムを作成し、それぞれに ID 番号と料理名を入れる。

sqlite> CREATE TABLE t_menu (id INTEGER, name VARCHAR(16));
sqlite>
  • id には、整数を入力するため、INTEGERを指定
  • name には文字を入力するようにVARCHARと文字のサイズ 16 バイトを指定
Note
SQLite では、データ型を指定してテーブルを作成しても、型やサイズに関係なく データ入力ができるため、注意が必要です。ここは他のRDBMSと異なる点の一つです。

データ型の指定はいる?

型やサイズを指定せずにテーブルを作成することも可能。

sqlite> CREATE TABLE menu_no_type (id, name);
sqlite>

ただし、上記のように作成したテーブルは他のデータベースと互換性が無くなる。 テーブル作成のクエリーとしても、他のデータベースではエラーになる。 また、型に関係なく格納されたデータを他のデータベースにインポートする場合、 型に合わずにNULLや0に変換されてしまうこともある。


リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 03 Jun 2019 14:37:49 UTC (2087d)