sinevia/php-library-sqldb

用于处理SQL数据库的PHP库

v3.12.0 2020-06-07 21:11 UTC

README

Gitpod Ready-to-Code

PHP库 SqlDB

用于处理SQL数据库的PHP库。

No Dependencies Build status GitHub stars HitCount

特性

  • 支持MySQL、SQlite和SQLiteDB(云端的SQLite)
  • 统一数据类型。数据类型面向开发者(字符串、文本、整数、浮点、二进制)。然后将其转换为相应数据库的正确列类型。
  • 流畅的接口用于构建查询

安装

  1. 通过composer命令行
composer require sinevia/php-library-sqldb
  1. 通过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

相关项目