effectra/sql-query

Effectra SQL 查询包。

v2.0.12 2023-11-11 20:53 UTC

This package is auto-updated.

Last update: 2024-09-11 22:29:29 UTC


README

Effectra/SqlQuery 是一个强大的PHP数据库操作包。

安装

您可以通过Composer安装此包。运行以下命令

composer require effectra/sql-query

用法

查询示例

use Effectra\SqlQuery\Query;


// Select statement
$query = Query::select('users')->columns(['id','email','password'])->where(['id' => 9841]);

// Print the SQL query
echo $query;

//output
//  SELECT id, email, password FROM users WHERE id = 9841 

表格示例

use Effectra\SqlQuery\Table;
use Effectra\SqlQuery\Charset;
use Effectra\SqlQuery\Driver;
use Effectra\SqlQuery\Engine;

Query::driver(Driver::MySQL);

Query::createTable('users', function (Table $table) {
    $table->autoIncrement();
    $table->username()->unique();
    $table->email()->unique();
    $table->timestamps();
})->engine(Engine::MYSQL_InnoDB)->charset(Charset::MySQL_utf8mb4);

输出

CREATE TABLE users ( 
    id BIGINT NOT NULL AUTO_INCREMENT , 
    username VARCHAR (50) NOT NULL UNIQUE CHECK (username REGEXP '^[a-zA-Z0-9_]+$'), 
    email VARCHAR (255) NOT NULL UNIQUE CHECK (email REGEXP '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'), 
    created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP , 
    updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4_0900_ai_ci

许可证

此包是开源的,可在MIT许可证下使用。