sinevia / php-library-sqldb
用于处理SQL数据库的PHP库
v3.12.0
2020-06-07 21:11 UTC
Requires
- sinevia/php-library-http: v1.3.0
Requires (Dev)
- bafs/testify: ^1.0
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-09-14 00:32:14 UTC
README
PHP库 SqlDB
用于处理SQL数据库的PHP库。
特性
- 支持MySQL、SQlite和SQLiteDB(云端的SQLite)
- 统一数据类型。数据类型面向开发者(字符串、文本、整数、浮点、二进制)。然后将其转换为相应数据库的正确列类型。
- 流畅的接口用于构建查询
安装
- 通过composer命令行
composer require sinevia/php-library-sqldb
- 通过composer文件
将最新稳定版本添加到您的composer文件中,并通过composer更新
"require": { "sinevia/php-library-sqldb": "3.8.0" }
数据类型
用法
1) 创建一个新的数据库实例
// MySQL $db = new Sinevia\SqlDB(array( 'database_type'=>'mysql', 'database_name'=>'db_name', 'database_host'=>'db_host', 'database_user'=>'db_user', 'database_pass'=>'db_pass' )); // SQLite (creating a new SQLite database, if it does not exist) $db = new Sinevia\SqlDB(array( 'database_type'=>'sqlite', 'database_name'=>'db_name', 'database_host'=>'db_host', 'database_user'=>'db_user', 'database_pass'=>'db_pass' )); // SQLiteDB (SQLite in the cloud) $db = new Sinevia\SqlDB(array( 'database_type'=>'sqlitedb', 'database_host'=>'sqlitedb_api_url', 'database_pass'=>'sqlitedb_api_key' )); // Using existing PDO instance $db = new Sinevia\SqlDB($pdo);
2) 删除数据库
根据您的数据库托管情况,这可能或可能不支持
// Dropping a database $db->drop();
3) 创建一个新表
// Check if table already exists? if ($db->table("person")->exists() == false) { // Create table $db->table("person") ->column("Id", "INTEGER", "NOT NULL PRIMARY KEY AUTO_INCREMENT") ->column("FirstName", "STRING") ->column("LastName", "STRING") ->create(); }
3) 删除表
// Dropping a table $isOk = $db->table("person")->drop();
3) 插入行
$isOk = $db->table('person')->insert([ 'FirstName' => 'Peter', 'LastName' => 'Pan', ]); // Getting the new autoincremented ID $personId = $db->lastInsertId();
4) 选择行
//Selects all the rows from the table $rows = $db->table("person")->select(); // Selects the rows where the column NAME is different from Peter, in descending order $rows = $db->table("person") ->where("Name", "!=", "Peter") ->orderby("Name","desc") ->select();
5) 更新行
// Delete row by ID $isOk = $db->table("person") ->where("Id", "==", "1") ->update([ 'LastName' => 'Voldemort' ]);
5) 删除行
// Delete row by ID $isOk = $db->table("person") ->where("Id", "==", "1") ->delete(); // Delete all rows in the table $isOk = $db->table("person")->delete();
辅助函数
1) 生成UUIDs
$uuid = Sinevia\SqlDB::uuid();
2) 生成HUIDs
HUIDs是人性化的唯一标识符,基于日期。
$uid20 = Sinevia\SqlDB::uid(); // 20 digits default $uid32 = Sinevia\SqlDB::uid(32); // 32 digits