データベース作成
作成
SQLite対応のGUIを使った方が容易なので、今回はLitaを使用し作成する。直感的に分かりやすいインターフェイスなので説明は割愛。
テーブルの作成やパラメーターの編集が容易。ただし、作成したパラメータのNullの許容などは後から変更できない模様。
後で要素を足したりする可能性を考えて、Default Value(初期値)を設定しておいたほうが良い。後々要素を足した時にクエリ(検索)で抽出できなくなる事態を避けられる。
ただし、最初はLitaでも2000-01-01と表示されていたのに、途中から何故か表示されなくなった(値はちゃんと保持している)。また、SQL文で現在時刻を入力するとDouble型で入力される。型を統一しないと、C#側で使うのが非常に厄介である。
最終的にTEXT型で保存し、C#側でdatetime型に変換するようにした。この場合、現在時刻を打刻するとちゃんと"2000-01-01 00:00:00"のような形で保存される。なお、日付によるソートは、DBではなくC#側のListで行うことにした。
また、Lataではデータの編集も容易なので、単純なものであればこれで作ってしまった方が早い。SQL文も使うことができ、意図した動作をしているかチェックできるので重宝する。
テーブルの作成やパラメーターの編集が容易。ただし、作成したパラメータのNullの許容などは後から変更できない模様。
後で要素を足したりする可能性を考えて、Default Value(初期値)を設定しておいたほうが良い。後々要素を足した時にクエリ(検索)で抽出できなくなる事態を避けられる。
〜DATE型の注意点〜
SQLiteにおけるDATE型は正確には決まっていない(参考)。DATE型の初期値は"2000-01-01"のような形で入力できた。ただし、最初はLitaでも2000-01-01と表示されていたのに、途中から何故か表示されなくなった(値はちゃんと保持している)。また、SQL文で現在時刻を入力するとDouble型で入力される。型を統一しないと、C#側で使うのが非常に厄介である。
最終的にTEXT型で保存し、C#側でdatetime型に変換するようにした。この場合、現在時刻を打刻するとちゃんと"2000-01-01 00:00:00"のような形で保存される。なお、日付によるソートは、DBではなくC#側のListで行うことにした。
〜閑話休題〜
作成が終わったらExportで出力可能。ただし、このとき拡張子をつけてないとただのテキストファイルになる。ターミナルから作成した場合は不要らしい。拡張子は.dbや.sqlite3にするのが一般的とのこと。また、Lataではデータの編集も容易なので、単純なものであればこれで作ってしまった方が早い。SQL文も使うことができ、意図した動作をしているかチェックできるので重宝する。
ターミナルについて
一応、Litaが出力したファイルがsqlite3なのか確認してみた。ターミナルはアプリケーションのユーティリティの中にある。ターミナルが起動したらsqlite3と入力した後、半角スペースを入れてからデータベースファイルのパスを入力する。
パスにスペースの含まれるフォルダが含まれているとアクセスできなかった。その場合は、デスクトップなどに一旦移すと良い。入力が終わったらエンターを押す。
これにより、Macに標準搭載されている現在のSQLiteのバージョンが確認できる。ちゃんとアクセスできている場合、.databaseを入力してエンターを押すと上図のようにfileのパスが表示される。終了する場合は.exit。パスにスペースの含まれるフォルダが含まれているとアクセスできなかった。その場合は、デスクトップなどに一旦移すと良い。入力が終わったらエンターを押す。
0 件のコメント:
コメントを投稿