mysql_builder_select

MySQL查询构建器类

代码示例

-- 创建并启动连接池
local pool = mysql_pool.new()
pool:start("127.0.0.1", "root", "password", "database_name", "utf8", 3306, 10)
-- 获取select对象
local select = pool:select()
-- 执行更新
local result = select:table("users"):field({"name"}):where_i32("id","=",1):query()



方法概览

返回值 方法及描述
mysql_builder_select where_i32(name, expression, value)
添加int32类型的where条件
mysql_builder_select where_i64(name, expression, value)
添加int64类型的where条件
mysql_builder_select where_dob(name, expression, value)
添加double类型的where条件
mysql_builder_select where_str(name, expression, value)
添加string类型的where条件
mysql_builder_select where_expression(expression)
添加表达式类型的where条件
mysql_builder_select where_like(name, value)
添加like类型的where条件
mysql_builder_select table(table_name)
设置查询的表名
mysql_builder_select field(table)
设置查询字段
mysql_builder_select page(page, count)
设置分页信息
mysql_builder_select limit(start, count)
设置限制条数
mysql_builder_select orderby(field, sort)
设置排序字段
void clear()
清除查询条件
mysql_result query()
执行查询
number count()
获取结果数量


方法详细

where_i32(name, expression, value)

描述 添加int32类型的where条件。
参数 name (string): 字段名称。
expression (string): 条件表达式。
value (number): 字段值。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local query = builder:where_i32("age", ">", 30)


where_i64(name, expression, value)

描述 添加int64类型的where条件。
参数 name (string): 字段名称。
expression (string): 条件表达式。
value (number): 字段值。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:where_i64("id", "=", 10000000000)


where_dob(name, expression, value)

描述 添加double类型的where条件。
参数 name (string): 字段名称。
expression (string): 条件表达式。
value (number): 字段值。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:where_dob("price", "<=", 19.99)


where_str(name, expression, value)

描述 添加string类型的where条件。
参数 name (string): 字段名称。
expression (string): 条件表达式。
value (string): 字段值。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:where_str("status", "=", "active")


where_expression(expression)

描述 添加表达式类型的where条件。
参数 expression (string): 条件表达式。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:where_expression("AND age > 30 AND status = 'active'")


where_like(name, value)

描述 添加like类型的where条件。
参数 name (string): 字段名称。
value (string): 匹配值。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:where_like("name", "%John%")


table(table_name)

描述 设置查询的表名。
参数 table_name (string): 表名。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:table("users")


field(table)

描述 设置查询字段。
参数 table (table): 字段表。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:field({"id", "name", "age"})


page(page, count)

描述 设置分页信息。
参数 page (number): 页码。
count (number): 每页条数。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:page(1, 20)


limit(start, count)

描述 设置限制条数。
参数 start (number): 起始位置。
count (number): 条数。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:limit(0, 10)


orderby(field, sort)

描述 设置排序字段。
参数 field (string): 排序字段。
sort (sort): 排序方式(ASC为升序,DESC为降序)。
返回值 mysql_builder_select: 返回当前对象以便链式调用。

示例:

local builder = builder:orderby("age", 1)


clear()

描述 清除查询条件。
参数 无。
返回值 void: 无返回值。

示例:

builder:clear()


query()

描述 执行查询。
参数 无。
返回值 mysql_result: 返回查询结果。

示例:

local result = builder:query()


count()

描述 获取结果数量。此查询返回当前条件的COUNT(1)值
参数 无。
返回值 number: 返回结果数量。

示例:

local count = builder:count()