maleeshagimshan98 / query-builder
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-22 14:30:09 UTC
README
一个用于轻松生成简单 SQL 查询的工具。这是我的 ORM 项目内置的查询构建器 Infinite-Simple-ORM
关于
QueryBuilder 是一个 PHP 类,提供了一套构建 SQL 查询的方法。此类支持构建 CRUD 操作的查询,以及添加条件、限制和偏移量到查询中。此外,该类还支持连接表以及排序和分组数据。
安装
要安装包,请将其添加到 composer.json 并更新。
"require": {
"maleeshagimshan98/query-builder": "1.0.*"
}
运行以下命令
php composer.phar update
入门
要开始,请将此文件添加到您的项目文件夹中
use Infinite\SimpleOrm\Query\QueryBuilder;
$builder = new QueryBuilder();
以下是该类的主要方法
from(string $table)
: 设置要选择数据的表。select(array $columns = null)
: 添加要选择数据的列。如果没有指定列,则选择所有列。where(array $condition)
: 向查询添加 WHERE 条件。leftJoin(string $tableName, array $condition)
: 向查询添加与另一个表的左连接。orderBy(string $column, string $type = "ASC")
: 向查询添加 ORDER BY 子句。limit(string $limit, string $offset)
: 设置结果的限制和偏移量。insert(string $table, array $values)
: 构建 INSERT 查询。update(string $table, array $values, array $condition = [])
: 构建 UPDATE 查询。delete(string $table, array $condition = [])
: 构建 DELETE 查询。
SELECT
从用户表中选择数据,以下代码可以用来
$builder = new QueryBuilder();
$builder->from('users');
$builder->select(['id', 'name', 'email']);
$query = $builder->sql();
带有 WHERE 的 SELECT(仅使用 "=")
使用 WHERE 条件选择数据。使用 "=" 运算符比较数组的键和值。
语法:where([...['column_name' => 'value_evaluated']])
$builder->from('users');
$builder->select(['id', 'name', 'email'])->where(['id' => '123','name' => "'abc'"])
$query = $builder->sql(); //... returns the generated sql query
带有 WHERE 的 SELECT(使用比较运算符)
使用 WHERE 条件选择数据,可以使用任何比较运算符(=, >, <, 等。)
语法:where([.., [..], ['column_name','comparison_operator', 'value_evaluated']])
$builder->from('users');
$builder->select(['id', 'name', 'email'])->where([['id','=','00002'],['name','=',"'aaaa'"]]);
$query = $builder->sql();
LEFT JOIN
选择数据并左连接另一个表
$builder->from('users');
$builder->select(['id', 'name', 'email'])->leftJoin('products',[['product.user_id', '=', 'users.id'],['product.type','=','electronic']]);
$query = $builder->sql();
INSERT
要将数据插入用户表,以下代码可以用来
$builder = new QueryBuilder();
$builder->insert('users', ['name' => 'John Doe', 'email' => 'john.doe@example.com']);
$query = $builder->sql();
此代码将生成一个 SQL 查询,将包含名为 'John Doe' 和电子邮件 'john.doe@example.com' 的新行插入用户表。
UPDATE
要更新用户表中的数据,以下代码可以用来
$builder = new QueryBuilder();
$builder->update('users', ['name' => 'John Doe', 'email' => 'john.doe@example.com']);
$query = $builder->sql();
DELETE
要删除用户表中的数据,以下代码可以用来
$builder = new QueryBuilder();
$builder->delete('users', ['name' => 'John Doe', 'email' => 'john.doe@example.com']);
$query = $builder->sql();
总的来说,QueryBuilder 为在 PHP 代码中构建 SQL 查询提供了一种方便且灵活的方式。
贡献
贡献使开源社区成为一个如此美妙的学习、灵感和创作的场所。您所提供的任何贡献都将受到高度赞赏。
如果您有任何改进建议,请 fork 仓库并创建一个 pull request。您也可以简单地打开一个带有“增强”标签的问题。别忘了为项目加星!再次感谢!
- 分支项目
- 创建您的功能分支(git checkout -b feature/AmazingFeature)
- 提交您的更改(git commit -m 'Add some AmazingFeature')
- 将更改推送到分支(git push origin feature/AmazingFeature)
- 打开一个 pull request
许可证
在 MIT 许可证下分发
联系
- 姓名 - Maleesha Gimshan
- 邮箱 - (maleeshagimshan74@gmail.com)