thipages/sqlitecli
Composer 安装命令:
composer require thipages/sqlitecli
包简介
SQLite CLI PHP wrapper
README 文档
README
SQLite CLI wrapper
Installation
composer require thipages\sqlitecli
Usage
/* index.php */ /* ********* */ $cli=new SqliteCli('./database.db'); $cli->execute( "CREATE TABLE simple (id INTEGER PRIMARY KEY, name);", "INSERT INTO simple (name) VALUES ('Paul'), ('Jack'),('Charlie');", '.mode csv', '.headers on', '.separator ,', '.output data.csv', 'select id,name from simple limit 2;' ); // OR $cli-<execute( Orders::importCsv('simple','data.csv', ',', true), Orders::exportCsv('data.csv', 'select id,name from simple limit 2;') );
// run it on server
php index.php
Advanced usage
- with functions only
/* index.php */ /* ********* */ $cli=new SqliteCli('./database.db'); $cli->execute( "CREATE TABLE simple (id INTEGER PRIMARY KEY, name);", "INSERT INTO simple (name) VALUES ('Paul'), ('Jack'),('Charlie');", "SELECT name FROM simple WHERE id=1;", function($res) { // Set 'Paul' to all records return "UPDATE simple SET name='$res'"; } );
- with functions and registry
/* index.php */ /* ********* */ $cli=new SqliteCli('./database.db'); $cli->execute( "CREATE TABLE simple (id INTEGER PRIMARY KEY, name);", "INSERT INTO simple (name) VALUES ('Paul'), ('Jack'),('Charlie');", "SELECT name FROM simple WHERE id=1;", Orders::registerAs('QUERY_ID=1'), function($res, $registry) { $newName=$registry->get(''QUERY_ID=1''); return "UPDATE simple SET name='$newName'"; } );
Same result for both.
API
SqliteCli class
Constructor
SqliteCli($dbPath)
Methods
execute(...$orders):[boolean,array] executes sqlite commands (list of [array of] commands). This method adds a final .quit command
getRegistry($key=null) get the registry ouput value of $key or if null the registry as an associated array.
Orders class
Static methods
addPrimary($table,$primaryName):[boolean,array] adds a primary field to an existing table (first position)
addField($table,$definition):[boolean,array] adds a field to an existing table (first position)
importCsv($table, $csvPath, $separator=',', $headers='on'):array returns an array of commands for csv import
exportCsv($csvPath, $separator=',', $headers='on'):array returns an array of commands for csv export
mergeCsvList($table,$csvPaths, $delimiter=',') merges csv Files into $table. Files need to have the same fields. $delimiter can be an array matching $csvPaths
getFieldList($table) returns an array of the fields of $table
registerAs($key) associates the previous output command to $key in the registry
unregister(...$keys) associates the previous output command to $key in the registry
统计信息
- 总下载量: 48
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-27