Warning: Invalid argument supplied for foreach() in /home/minamachijp/minamachi.jp/public_html/mnc/wp-content/themes/mnc/functions/menu.php on line 48

PHPによるSQLiteの環境構築編

    データベース操作

    SQLITE3の基本

    • 小規模なプログラム開発に向いています
    • スマートフォンアプリケーションなどでは基本的に使用されています
    • ファイルベースのため、導入が容易
    • SQL構文自体になれるには一番簡単です。

    Windowsの場合
    配置して環境変数に追加する
    C:\SQLITE3以下に配置して環境変数のPATHに追加します
    システムの詳細設定からシステム環境変数のPATHに追加します。

    Macの場合
    デフォルトでインストール済み

    データベースを作成するには

    データベースを作成するにはコマンドプロンプト、もしくはTerminalを使用します

    sqlite3 test.db

    create table test(id integer primary key, name text);

    .exit

    プログラムから抜ける場合は.exitと入力してEnterを押します。

    データベース操作の基本

    create table
    テーブルを作成します
    select
    データを取得した際にしようします
    insert
    データを追加した際にしようします
    delete
    データを削除した際にしようします
    update
    データを更新した際にしようします

    テーブルを作成するには

    DBを使用する場合、テーブルを作成することは初めの一歩になります。

    最初に作成したファイル(test.db)がExcelのワークブック(.xlsx)だとしたらテーブルはExcelシートに当たります。

    実際に作成するには以下のようなコマンドを入力します。
    create table テーブル名(カラム名1 カラム型1,カラム名2 カラム型2 );

    例としては以下のようなものです。
    create table personal(id integer primary key autoincrement, name text);

    カラム名はなんでも構いませんが、カラム型は決まっています。
    http://so-zou.jp/web-app/tech/database/sqlite/data/data-type.htm

    また、カラム名の後にauto incrementなどをつけると自動で採番してくれるようになります。

    テーブルのプライマリーキー制約

    テーブルには重要なキーワードで日本語では主キーと呼ばれます。これがないとRDBを使っている意味がありません。

    テーブルから行を抽出する際に、一意になるキーのことを指します。

    一般的にはidなどのkeywordがついていることが多い。

    また、primary keyが複数につくパターンもあります。
    このページが非常に参考になります。 https://www.dbonline.jp/mysql/table/index8.html

    テーブルからデータを取得する

    データを取得するにはselect文を発行します。

    select カラム名 from テーブル名 where 条件

    カラム名は複数指定することができますが,*を使うとそのテーブルが持っているすべてのカラムを取得することができます。

    where条件句の書き方はhttp://rfs.jp/sb/sql/s03/03_2-2.htmlを参照してください。

    以下サンプルとして
    select * from personal;

    Where句の条件指定

    テーブルへの追加処理(insert)

    テーブルへの追加は簡単です。

    insert into テーブル名(カラム名1,カラム名2) values(値1, 値2);

    idなどauto increment がついている場合はそのカラムを指定する必要はありません。

    例えば以下のようなSQLになります。
    insert into personal (name) values(‘test’);

    テーブルへの更新処理(update)(insert)

    データを変更したい場合にupdate文を作成して発行します。

    update テーブル名 set カラム名 = 値 where primary key column = 値;

    例えば以下のようなSQLを書きます
    update personal set name = ‘Taro Yamada’ where id = 1;

    テーブルからの削除処理(update)(insert)

    データを削除したい場合はdelete文を発行します。

    delete from テーブル名 where カラム名 = 値;

    カラム名には大抵、primary keyのカラム名が来ます。

    delete from personal where id = 1;

    データの結合について(update)(insert)

    RDBの醍醐味。
    データを結合して取得することが可能です。
    実際にはあまりこういう構造にすることはないですが、例として挙げておきます。

    create table personal_ages(personal_id integer primary key, age integer);
    insert into personal (name ) values(‘山田太郎’);
    insert into personal_ages (personal_id, age) values(2, 22);
    select * from personal inner join personal_ages on personal.id = personal_ages.personal_id;

    さらに複雑な例として(update)(insert)

    http://rfs.jp/sb/sql/s03/03_3.html
    こちらの例を参考に少し複雑な例を考えてみましょう

    PHPからのアクセス(update)(insert)

    PHPからアクセスする際にも上述のようなSQLを使用しなくてはなりません。

    少しずつで構いませんが、本やサイトを見てSQLについての知識を深めてください。

    WordPressなどもDBを使用しており、何かあった際にはデータ調査などを行う必要もあります。

    少しでも便利にするために(update)(insert)

    DB Browser for SQLite
    http://sqlitebrowser.org/
    SQLiteのDBに対してSQL を発行し、見やすく表示してくれるGUIのツールです

    TOP
    TOP