日本のプログラマーの皆さんこんにちは。今日はDB Browserを使ってSQLiteのデータベースを管理していく方法を紹介します。
エクセルのような感覚で始められるのでリレーショナルデータベースを使ったことがない人には得にお勧めです。
SQLiteってなに?
SQLiteは下記のような長所があります。
- オープンソースです。(ソースコードが一般に公開されています。)
- データベースの一種です。(MySQLとかPostgreSQLとかと同じ)
- ポータブルです。(OSに依存せず、DBファイルにそのままアクセスすることができます。)
SQLiteの欠点はこのようなものがあります。
- DBサーバー無しで使えるのでネットワークからアクセスできない。
- 大規模なアプリケーションには向いていない。
- データサイズに制限がある。
本日の環境
- Windows10(MacOSでも、Linuxでも問題ありません。)
本日の目的
今日も目的はSQLiteのデータベースがどのような仕組みで作れるのか見ていくことが目的になります。慣れてきたら、次回以降はSQL(クエリ)を書いてデータベースを操作できるようにしたいですね。
SQLite DB Browserをダウンロード
では、SQLiteのデータベースの作業をするために下記の公式リンクからSQLite Browserをダウンロードしましょう。

では、ダウンロードページに行ったらWindowsのポータブル版をダウンロードしましょう。
windowsにインストールしちゃいたい人は64bitのインストーラーをダウンロードしてもOKです。MacOCの人はMacの方からダウンロードしてください。
DBBrowserを展開
ではダウンロードした.exeファイルをダブルクリックしてファイルを展開しましょう。

Nextをクリックします。

ポータブル版のファイルをおきたいファイルパス(場所)を指定します。これだとダウンロードに展開されることになります。
では、Instalをクリック。

Finishをクリックで完了です。
SQLiteDatabaseBrowserを実行
では先ほど展開したファイルを開くと.exe実行ファイルがあるのでそれをクリックしてアプリを起動します。

データベースを作成
では、NewDatabaseのボタンを押してデータベースを作成します。

それからデータベース名を決めて、Saveします。名前は後から変更できるのでご心配なく。
Addをクリックしてカラム(Column)を追加します。
まずは、テーブル名をInventoryとかにしておきましょう。

今回は在庫管理業務で使えそうなデータベースを作ってみましょう。

では下記のようにカラムを追加していきましょう。

Nameはカラムの名前です。クエリで指定する際に使います。
Typeはデータのタイプになります。Textは文字のデータです。(数字を入れると文字データの数字として扱われます。プログラミングを学習する際に習いますね。)
INTEGERは整数のことになります。
その横にあるチェックボックスを説明します。
- NN NotNull(Null=データがないことを許さないという事です。)
- PK プライマリーキー(他のデータと被らない行を区別するためのキーです。)
- AI auto increment (自動で数字が足されていくことです。)
- U ユニーク(PKと同じですが、PKはテーブルに1つしか設定できないことに対しUは複数設定可能です。
では、今回設定した内容を説明します。
idはプライマリーキーでそれぞれのデータの行を区別するために設定しておきます。またAIにチェックが入っているので新しいデータが作成されるたびに数が1,2と増えていくようになります。
最後にadded_date(追加日)のDefault(デフォルト)の部分に下記のテキストを追加します。
CURRENT_TIMESTAMP

デフォルトで初期値を設定することができます。もし何もインプットがない場合にデフォルトの値を記録することになります。
この場合は現在の日時を自動で入力するように指示したことになります。
では右下のOKボタンを押してDB(データベース)が作成されました。
データを追加する
ではテーブルが作成されたのでレコードを追加していきましょう。

Browse Dataをクリックして、+アイコンからデータを追加します。
そうすると先ほどデフォルトで設定したようにadded_dateの箇所に今日の日付が記録されました。
では、適当にデータを入れてみましょう。
データを保存する
ではデータを作成したら、Write Changesのボタンでデータベースを上書きします。

基本はこのようになります。
他にも色々なルールを追加したり、テーブル(エクセルでいうタブ)を追加することもできます。
またSQLを書いて、コマンドから操作することもできます。
色々試してみてください。