|
||||||||||||||
| 前のページ 1 2 | ||||||||||||||
| はじめに | ||||||||||||||
|
SQLiteはPHP5に組み込まれています。そのため、PHPコードを使ってすぐにデータベースを作成し、テーブルやインデックスを作っていくことができます。しかし、PHP5にあらかじめ組み込まれているSQLiteをそのまま使うと、不便な点が出てきます。 例えば、データを見たり、データベースの構造を調べたりするためだけにコードを書く必要が出てきます。そのため、コマンドライン版のSQLiteをダウンロードすることをお勧めします。PHP 5.1 RC1ではSQLite2.8.14がバンドルされており、バージョン2系のSQLiteを使う範囲では問題は生じません。 ただし、バージョン3ではファイル形式が異なっており、バージョン2とは互換性がないので注意が必要です。コマンドライン版のSQLite(SQLiteという実行ファイル名です)を使ってデータベースを作成するには、以下のように入力します。 指定したデータベースファイルが見つからない場合は新しく作成し、すでに存在する場合はそのデータベースを読み込みます。実行するとSQLiteのコマンドプロンプトが出現し、任意のSQLコマンドを実行できます。 ここでもう1点の注意点があります。データベースの内容をダンプする際に、このコマンドプロンプトから入力したSQL文は綺麗に出力されません。そのため、あらかじめエディタでCREATE TABLE文を記述したファイルを作成しておき、そのファイルをデータベースにリダイレクトします。そうすることで、より見やすいダンプ結果になります。 今回アプリケーションが使用するデータベースは、dbdirフォルダのresources.SQLiteファイルに格納します。このときデータベースに内容を登録するには、コマンドラインにて以下のコマンドを実行します。 |
||||||||||||||
| テーブルの作成 | ||||||||||||||
|
tblresourcesテーブルで利用するSQL文は、リスト1のようになります。詳しく見ていきましょう。 リスト1 自動採番型のフィールドを作成する場合、SQLiteではINTEGER型でPRIMARY KEY属性を設定します。これは、MySQLでINTEGERauto_increment PRIMARY KEYと記述するのと同じです。SQLiteでは、フィールドの定義の際にデータ型を指定する必要はありません。 その場合は、フィールドは文字列型として認識されます。とはいえ、データ型を入れておいた方が、どのような値が入っているのかを判断する際に便利です。しかし、FLOAT型のフィールドに文字列を入れることも、BOOLEAN型のフィールドに整数値を入れることもできてしまいます。 さらに、文字数を制限したVARCHAR型を作成しても意味はありません。そのため、フィールドに入れるデータには特に気をつける必要があります。今回のテーブルで使用するフィールドに関しては、特に説明する必要はないでしょう。reviewedフィールドがtrueにセットされるまでは、リンクは表示されません。 また、TIMESTAMP型のwhenalteredフィールドとwhenaddedフィールドは、トリガーを使って自動的に値がセットされます。 |
||||||||||||||
|
前のページ 1 2 |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||

