Ground Sunlight

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

ユーザ用ツール

サイト用ツール


sqlform:usage:ja

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
sqlform:usage:ja [2020/10/23 15:14]
y2sunlight [実行例]
sqlform:usage:ja [2020/10/23 17:46] (現在)
y2sunlight
行 1: 行 1:
-> 編集中です。 
- 
 ====== Sqlform ドキュメント ====== ====== Sqlform ドキュメント ======
 Version 1.0 ([[https://github.com/y2sunlight/sqlform/blob/main/LICENSE|MIT License]]) Version 1.0 ([[https://github.com/y2sunlight/sqlform/blob/main/LICENSE|MIT License]])
行 14: 行 12:
 ===== クイックスタート ===== ===== クイックスタート =====
  
-[[https://github.com/y2sunlight/sqlfile/releases|リリース版]]をダウンロードし、適当な場所に解凍して下さい。+[[https://github.com/y2sunlight/sqlform/releases|リリース版]]をダウンロードし、適当な場所に解凍して下さい。
  
 ダウンロードした ''sqlform.php''ファイルの存在するディレクトリでPHPのビルトインサーバーを実行します。 ダウンロードした ''sqlform.php''ファイルの存在するディレクトリでPHPのビルトインサーバーを実行します。
行 39: 行 37:
  
 \\ \\
-> 解凍直後は、データーベースとして **SQLite** が選択されています。SQLiteが使用できない環境、または他のデータベースを構成したい場合は、以下の [[#設定]] を参照して下さい。+> 解凍直後は、データーベースとして **SQLite** が選択されています。SQLiteが使用できない環境、または他のデータベースを構成したい場合は、以下の[[#構成]]を参照して下さい。
  
 \\ \\
行 45: 行 43:
 ===== 使い方 ===== ===== 使い方 =====
  
-=== SQLスクリプトの読み込みと編集 ===+=== SQLファイルの読み込みと編集 ===
  
-画面左上のセレクトボックスで保存済みのSQLスクリプトファイルを選択しSQLを読み込むことができます。例えば、同封されている ''sample.sql'' を選択して下さい。+画面左上のセレクトボックスで保存済みのSQLファイルを選択しSQLを読み込むことができます。例えば、同封されている ''sample.sql'' を選択して下さい。
  
 [{{:sqlform:usage:ja:sample03.png?nolink}}] [{{:sqlform:usage:ja:sample03.png?nolink}}]
行 53: 行 51:
 ここで呼び出したファイルは編集することもできます。 ここで呼び出したファイルは編集することもできます。
  
->SQLスクリプトの仕様については、構成されているデータベースに依存しますが、コメントと拡張機能については以下の [[#SQLファイルの仕様]] を参照して下さい。+>SQLスクリプトの仕様については、構成されているデータベースに依存しますが、コメントと拡張機能については以下の[[#SQLファイルの仕様]]を参照して下さい。
  
 \\ \\
行 77: 行 75:
 \\ \\
  
-===== 設定 =====+===== 構成 =====
  
-TODO:+データベースの構成は、同封の ''config.php'' で行います。 
 + 
 +<code 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}", 
 +    ], 
 +]; 
 +</code> 
 + 
 + 
 +  * 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 のようなファイル共有型のデータベースの場合に必要で、''username'' と ''password'' は MySQL のようなクライアント-サーバ型のデータベースの場合に必要になります。尚、ファイル共有型のデータベースのパスはアクセス権のある任意の場所に設定できます。 
 + 
 +''connection_string'' と ''driver_options'' についてはを PHPの[[https://www.php.net/manual/en/pdo.drivers.php|PDO driver-specific documentation]] 参照して下さい。 
 + 
 +> 接続設定及び接続文字列の詳細は以下を参照して下さい:\\ https://idiorm.readthedocs.io/en/latest/configuration.html#id1 
 + 
 +''initial_statements'' はオプションで、データベースとの接続直後に実行するSQL文を設定します。このSQL文は複数指定することができます。 
 + 
 +=== sql_file === 
 + 
 +SQLファイルに関する設定です。 
 + 
 +  * path --- SQLファイルを保存するパス 
 + 
 +''path'' はアクセス権のある任意の場所に設定できます。
  
 \\ \\
行 86: 行 149:
 ===== SQLファイルの仕様 ===== ===== SQLファイルの仕様 =====
  
-TODO:+SQLファイルにはSQL文、EVAL文、プリント文 及びコメントを含むことができます。 
 + 
 +  * 文はセミコロン( '';'' )で区切って複数入力できます。 
 +  * 連続する空白( TAB, Space, 改行文字 )は1つの空白と同じにみなされます。 
 +  * 行コメント( ''-- Comment'' )とブロックコメント( ''/* Comment */'' )の両方が使用できます。 
 + 
 +=== SQL文 === 
 + 
 +<code 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; 
 +</code> 
 + 
 +  * SQL文は構成されているデータベースに依存します。各データベースのマニュアルを参照して下さい。 
 +  * [[https://www.sqlite.org/lang.html|SQLite]] --- SQLite SQL言語マニュアル(本家) 
 +  * [[https://mariadb.com/kb/en/sql-statements/|MariaDB]] --- MariaDB マニュアル言語(本家) 
 +  * [[https://dev.mysql.com/doc/refman/5.7/en/sql-statements.html|MySQL5.7]] --- MySQL5.7 マニュアル言語(本家)
  
 \\ \\
  
 +=== EVAL文 ===
 +
 +<code sql>
 +EVAL sleep(1);
 +SELECT 'Hello, World!' as phrase;
 +</code>
 +
 +  * EVAL文はPHPのeval関数で実行します。上例では: ''eval('sleep(1)');''
 +  * 複文の実行はできません。
 +
 +実行結果
 +[{{:sqlform:usage:ja:sample06.png?nolink}}]
 +
 +\\
 +
 +=== プリント文 ===
 +
 +<code sql>
 +#1秒待って検索する;
 +EVAL sleep(1);
 +SELECT 'Hello, World!' as phrase;
 +</code>
 +
 +  * プリント文は文頭が ''#'' で始まる文で、2文字目以降がプリントされます。
 +  * 改行だけを出力したい場合は ''#;'' を入力します。
 +
 +実行結果
 +[{{:sqlform:usage:ja:sample07.png?nolink}}]
 +
 +\\
  
 ===== ライセンス ===== ===== ライセンス =====
sqlform/usage/ja.1603433680.txt.gz · 最終更新: 2020/10/23 15:14 by y2sunlight