データベースを操作するための関数は、一般的で使いやすいSQLiteエンジンを使用します。このエンジンの便利な機能は、データベース全体がユーザーPCのハードディスク上の単一のファイルにあることです。
これらの関数を使用すると、簡単なSQL要求を使用して、テーブルの作成、データの追加、変更の実行、サンプリングを簡単に行うことができます。
データベースを使用するための関数を使用すると、最も頻繁に繰り返される大きなデータ配列処理操作をSQL要求に置き換えることができるため、多くの場合、複雑なループと比較をプログラミングする代わりにDatabaseExecute/DatabasePrepareは、呼び出すことができます。DatabaseReadBind関数を使用すると、既成の構造体でクエリ結果を簡単に取得できます。この関数では、1回の呼び出しですべてのレコードフィールドを一度に読み取ることができます。
読み取り、書き込み、変更を高速化するために、データベースはDATABASE_OPEN_MEMORYフラグを使用してRAMで開いたり作成したりできますが、このようなデータベースは特定のアプリケーションでのみ使用でき、共有されません。ハードディスク上にあるデータベースを使用する場合、バルクデータの挿入/変更は、DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollbackを使用してトランザクションにラップする必要があります。これにより、プロセスが何百回も加速されます。
関数の使用をはじめるにあたって、SQLite: MQL5 での SQL データベースのネイティブな処理稿をお読みください。
関数 |
アクション |
---|---|
指定したファイルでデータベースを開くか作成します |
|
データベースを閉じます |
|
ファイルからテーブルにデータをインポートします。 |
|
テーブルまたはSQL要求の実行結果をCSVファイルにエクスポートします。ファイルはUTF-8エンコードで作成されます。 |
|
テーブルまたはSQL要求の実行結果をエクスパート操作ログに出力します。 |
|
データベース内の表の存在を確認します |
|
指定されたデータベースへのリクエストを実行します |
|
DatabaseRead()を使用して実行できるリクエストのハンドルを作成します |
|
DatabasePrepare()の呼び出し後などに、リクエストをリセットしっます |
|
リクエストにパラメータ値を設定します |
|
パラメータ値として配列を設定します |
|
リクエストの結果として次のエントリに移動します |
|
DatabasePrepare()で作成されたリクエストを削除します |
|
トランザクションの実行を開始します |
|
トランザクションの実行を完了します |
|
トランザクションをロールバックします |
|
リクエスト内のフィールドの数を取得します |
|
インデックスでフィールド名を取得します |
|
インデックスでフィールドタイプを取得します |
|
バイト単位のフィールドサイズを取得します |
|
現在のレコードからフィールド値を文字列として取得します |
|
現在のレコードからint型の値を取得します |
|
現在のレコードからlong型の値を取得します |
|
現在のレコードからdouble型の値を取得します |
|
現在のレコードからフィールド値を配列として取得します |
例:
select
|