Ground Sunlight

Windowsで作る - Webプログラミングの開発環境(PHP)

ユーザ用ツール

サイト用ツール


サイドバー

メインメニュー

XAMPP アレンジ

道具箱

リポジトリ編

フレームワーク編

公開ソフトウェア

メタ
リンク


このページへのアクセス
今日: 1 / 昨日: 0
総計: 82

sqlform:usage:ja

Sqlform ドキュメント

Version 1.0 (MIT License)

y2sunlight 2020-10-20

Sqlform はブラウザ上のフォームからSQLスクリプトを実行できるツールで、スクリプトの編集、保存、呼び出し、削除ができます。テスト時、保守などで利用可能です。ログイン機能を実装していないので、運用時はhttpsにてWebサーバの認証機能を利用するか、認証機能付きのアプリケーションに組み込んでご利用下さい。

Sqlform は GitHub で公開しています。


クイックスタート

リリース版をダウンロードし、適当な場所に解凍して下さい。

ダウンロードした sqlform.phpファイルの存在するディレクトリでPHPのビルトインサーバーを実行します。

php -S localhost:8888

そして、以下のURLにアクセスしてください。

起動後には、以下のsqlスクリプトが表示されています。

SELECT 'Hello, World!' as phrase;

画面右上のプレイボタン(3つ並んだ三番目のボタン)を押すと、実行結果が表示されます。


解凍直後は、データーベースとして SQLite が選択されています。SQLiteが使用できない環境、または他のデータベースを構成したい場合は、以下の「構成」を参照して下さい。


使い方

SQLファイルの読み込みと編集

画面左上のセレクトボックスで保存済みのSQLファイルを選択しSQLを読み込むことができます。例えば、同封されている sample.sql を選択して下さい。

ここで呼び出したファイルは編集することもできます。

SQLスクリプトの仕様については、構成されているデータベースに依存しますが、コメントと拡張機能については以下の「SQLファイルの仕様」を参照して下さい。


SQLスクリプトの実行

画面右上のプレイボタン(3つ並んだ三番目のボタン)を押すと、編集済のSQLスクリプトを実行し、その結果を表示します。


SQLスクリプトの保存/削除

SQLスクリプトの保存と削除は画面右上のファイル名ボックス、保存ボタン、削除ボタンで行います。

  • ファイル名ボックス — SQLファイル名を指定します。
  • 保存ボタン — 指定されているファイル名でSQLを保存します。
  • 削除ボタン — 指定されているSQLファイルを削除します。


構成

データベースの構成は、同封の config.php で行います。

config.php
...
 
/*
 * 環境設定を返す
 */
return
[
    // データベース接続先設定
    'database'=>'sqlite',
    'connections' =>
    [
        'mysql' => [
            'dsn' => 'mysql:host=localhost;port=3306;dbname=sunlight_db',
            'username' => 'sunlight',
            'password' => 'sunlight',
            'driver_options' => [PDO::MYSQL_ATTR_INIT_COMMAND => 'set names utf8'],
            // 'initial_statements'=> ['set names utf8'],
        ],
        'sqlite' => [
            'dsn' => 'sqlite:'.dirname(__FILE__) . '/db/sqlform.sqlite',
            'db_file' => dirname(__FILE__) . '/db/sqlform.sqlite',
        ],
    ],
    // SQLファイル設定
    'sql_file' =>[
        'path' => dirname(__FILE__) . "/sql/{database}",
    ],
];
  • database— データベース名 (初期設定値は sqlite)
  • connections — データベース毎の接続を設定します
  • sql_file — SQLファイルに関する設定を行います

database は任意の名前が指定できますが、connections の中で使用する名前と一致している必要があります。connectionsには、複数のデータベースの接続を含める事ができますが、実際に使用されるのは database で指定されたものだけです。

connections

各データベースの設定値には以下の項目が含まれます。

  • connection_string — 接続文字列
  • db_file — データベースファイルのパス (初期設定値は db/sqlform.sqlite)
  • username — データベースのユーザ名
  • password — ユーザのパスワード
  • driver_options — データベースドライバー毎のオプション
  • initial_statements — 接続直後に実行する初期化SQL文

connection_string は必須です。db_file は SQLite のようなファイル共有型のデータベースの場合に必要で、usernamepassword は MySQL のようなクライアント-サーバ型のデータベースの場合に必要になります。尚、ファイル共有型のデータベースのパスはアクセス権のある任意の場所に設定できます。

connection_stringdriver_options についてはを PHPのPDO driver-specific documentation 参照して下さい。

接続設定及び接続文字列の詳細は以下を参照して下さい:
https://idiorm.readthedocs.io/en/latest/configuration.html#id1

initial_statements はオプションで、データベースとの接続直後に実行するSQL文を設定します。このSQL文は複数指定することができます。

sql_file

SQLファイルに関する設定です。

  • path — SQLファイルを保存するパス

path はアクセス権のある任意の場所に設定できます。


SQLファイルの仕様

SQLファイルにはSQL文、EVAL文、プリント文 及びコメントを含むことができます。

  • 文はセミコロン( ; )で区切って複数入力できます。
  • 連続する空白( TAB, Space, 改行文字 )は1つの空白と同じにみなされます。
  • 行コメント( – Comment )とブロックコメント( /* Comment */ )の両方が使用できます。

SQL文

sample.sql
-- テーブル作成
DROP TABLE IF EXISTS syain;
CREATE TABLE syain (
  syain_no INT(10) NOT NULL,
  syain_name VARCHAR(50),
  bumon_no INT(10),
  PRIMARY KEY (syain_no)
);
 
-- テーブルにデータを挿入
INSERT INTO syain VALUES(1,'Suzuki',3);
INSERT INTO syain VALUES(2,'Yamamoto',1);
INSERT INTO syain VALUES(3,'Tanaka',2);
 
-- テーブルの検索
SELECT * FROM syain;
  • SQL文は構成されているデータベースに依存します。各データベースのマニュアルを参照して下さい。
  • SQLite — SQLite SQL言語マニュアル(本家)
  • MariaDB — MariaDB マニュアル言語(本家)
  • MySQL5.7 — MySQL5.7 マニュアル言語(本家)


EVAL文

EVAL sleep(1);
SELECT 'Hello, World!' AS phrase;
  • EVAL文はPHPのeval関数で実行します。上例では: eval('sleep(1)');
  • 複文の実行はできません。

実行結果


プリント文

#1秒待って検索する;
EVAL sleep(1);
SELECT 'Hello, World!' AS phrase;
  • プリント文は文頭が # で始まる文で、2文字目以降がプリントされます。
  • 改行だけを出力したい場合は #; を入力します。

実行結果


ライセンス

Sqlformは MITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。


コメント

コメントを入力. Wiki文法が有効です:
 
sqlform/usage/ja.txt · 最終更新: 2020/10/23 17:46 by y2sunlight