如何附加到 SQL 命令?
How to append to a SQL command?
只是想知道您是如何附加到尚未执行的 SQL 语句的?
$select = $select & "ORDER BY orderDate ASC";
这取决于语言。
在直接 SQL 中(不是在 PHP 中创建 SQL 语句)它看起来像:
SET @select = @select + ' ORDER BY orderDate ASC';
实际上,如果有可能从一个数据库驱动程序切换到另一个数据库驱动程序,那么对于直接字符串连接来说这不是很好的做法,例如,PostgreSQL 不支持列名的反义词(即 SELECT ``field`` from table
) .
因此,最好为此使用一些查询构建框架。
就像,Laravel
使用它自己的构建器,称为 Eloquent
。在 Eloquent
中,您可以这样构建您的请求:
$q = DB::table("table_name")
->select(["name", "sum(a) as total"])
->where("age", ">", 20);
然后像这样获取数据:
$data = $q->get();
之后可以修改查询并再次获取:
$beforeFourty = $q->where("age", "<", 40)
->take(10)
->get();
等等...
只是想知道您是如何附加到尚未执行的 SQL 语句的?
$select = $select & "ORDER BY orderDate ASC";
这取决于语言。 在直接 SQL 中(不是在 PHP 中创建 SQL 语句)它看起来像:
SET @select = @select + ' ORDER BY orderDate ASC';
实际上,如果有可能从一个数据库驱动程序切换到另一个数据库驱动程序,那么对于直接字符串连接来说这不是很好的做法,例如,PostgreSQL 不支持列名的反义词(即 SELECT ``field`` from table
) .
因此,最好为此使用一些查询构建框架。
就像,Laravel
使用它自己的构建器,称为 Eloquent
。在 Eloquent
中,您可以这样构建您的请求:
$q = DB::table("table_name")
->select(["name", "sum(a) as total"])
->where("age", ">", 20);
然后像这样获取数据:
$data = $q->get();
之后可以修改查询并再次获取:
$beforeFourty = $q->where("age", "<", 40)
->take(10)
->get();
等等...