|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
SQL语句构建器 更多...
#include <sql_builder.hpp>
类 | |
| struct | select_data |
| SELECT语句的数据结构 更多... | |
| struct | insert_data |
| INSERT语句的数据结构 更多... | |
| struct | update_data |
| UPDATE语句的数据结构 更多... | |
Public 成员函数 | |
| sql_builder ()=default | |
| 默认构造函数 | |
| ~sql_builder ()=default | |
| 析构函数 | |
| sql_builder (const sql_builder &other) | |
| 拷贝构造函数 | |
| sql_builder & | operator= (const sql_builder &other) |
| 拷贝赋值运算符 | |
| sql_builder & | select (vector< string > fields) |
| 列表设置SELECT字段 | |
| sql_builder & | select (std::initializer_list< string > fields) |
| 初始化列表设置SELECT字段 | |
| sql_builder & | select (string field) |
| 添加SELECT字段 | |
| sql_builder & | select_all () noexcept |
| 选择所有字段(SELECT *) | |
| sql_builder & | distinct () |
| 添加DISTINCT关键字 | |
| sql_builder & | from (string table) noexcept |
| 设置主表 | |
| sql_builder & | from (string table, string alias) noexcept |
| 设置主表并指定别名 | |
| sql_builder & | join (sql_join type, string table, string on_condition) |
| 添加JOIN子句 | |
| sql_builder & | join (string table, string on_condition) |
| 添加INNER JOIN子句 | |
| sql_builder & | left_join (string table, string on_condition) |
| 添加LEFT JOIN子句 | |
| sql_builder & | right_join (string table, string on_condition) |
| 添加RIGHT JOIN子句 | |
| sql_builder & | inner_join (string table, string on_condition) |
| 添加INNER JOIN子句 | |
| sql_builder & | full_join (string table, string on_condition) |
| 添加FULL JOIN子句 | |
| sql_builder & | where (string condition) |
| 添加WHERE条件 | |
| sql_builder & | where_eq (string field, string value) |
| 添加相等条件 | |
| sql_builder & | where_ne (string field, string value) |
| 添加不等条件 | |
| sql_builder & | where_gt (string field, string value) |
| 添加大于条件 | |
| sql_builder & | where_ge (string field, string value) |
| 添加大于等于条件 | |
| sql_builder & | where_lt (string field, string value) |
| 添加小于条件 | |
| sql_builder & | where_le (string field, string value) |
| 添加小于等于条件 | |
| sql_builder & | where_like (string field, string pattern) |
| 添加LIKE条件 | |
| sql_builder & | where_not_like (string field, string pattern) |
| 添加NOT LIKE条件 | |
| sql_builder & | where_in (string field, vector< string > values) |
| 添加IN条件 | |
| sql_builder & | where_not_in (string field, vector< string > values) |
| 添加NOT IN条件 | |
| sql_builder & | where_between (string field, string start, string end) |
| 添加BETWEEN条件 | |
| sql_builder & | where_not_between (string field, string start, string end) |
| 添加NOT BETWEEN条件 | |
| sql_builder & | where_is_null (string field) |
| 添加IS NULL条件 | |
| sql_builder & | where_is_not_null (string field) |
| 添加IS NOT NULL条件 | |
| sql_builder & | where_exists (string subquery) |
| 添加EXISTS条件 | |
| sql_builder & | where_not_exists (string subquery) |
| 添加NOT EXISTS条件 | |
| sql_builder & | or_where (string condition) |
| 添加OR条件(与上一个条件组合) | |
| sql_builder & | group_by (string field) |
| 添加GROUP BY字段 | |
| sql_builder & | group_by (const vector< string > &fields) |
| 添加GROUP BY字段列表 | |
| sql_builder & | having (string condition) |
| 添加HAVING条件 | |
| sql_builder & | order_by (string field, sql_order order=sql_order::ASC) |
| 添加ORDER BY子句 | |
| sql_builder & | order_by_asc (string field) |
| 添加升序排序 | |
| sql_builder & | order_by_desc (string field) |
| 添加降序排序 | |
| sql_builder & | limit (int count) |
| 添加LIMIT限制 | |
| sql_builder & | offset (int count) |
| 添加OFFSET偏移 | |
| sql_builder & | page (int page_num, int page_size) |
| 添加分页 | |
| sql_builder & | insert_into (string table, vector< string > fields) |
| 设置INSERT INTO表名和字段 | |
| sql_builder & | insert_into (string table) |
| 设置INSERT INTO表名 | |
| sql_builder & | values (vector< string > values) |
| 设置VALUES占位符 | |
| sql_builder & | columns (vector< string > fields) |
| 设置INSERT字段列表 | |
| sql_builder & | update (string table) |
| 设置UPDATE表名 | |
| sql_builder & | set (string assignment) |
| 添加SET赋值 | |
| sql_builder & | set (string field, string value) |
| 添加SET赋值(字段=值形式) | |
| sql_builder & | set_increment (string field, int value=1) |
| 添加自增赋值 | |
| sql_builder & | set_decrement (string field, int value=1) |
| 添加自减赋值 | |
| sql_builder & | remove () |
| 设置DELETE操作 | |
| sql_builder & | delete_from (string table) |
| 设置DELETE FROM表名 | |
| sql_builder & | select_count (string field, string alias) |
| COUNT聚合 | |
| sql_builder & | select_count (string field) |
| COUNT聚合(无别名) | |
| sql_builder & | select_count () |
| COUNT(*) | |
| sql_builder & | select_sum (string field, string alias) |
| SUM聚合 | |
| sql_builder & | select_sum (string field) |
| SUM聚合(无别名) | |
| sql_builder & | select_avg (string field, string alias) |
| AVG聚合 | |
| sql_builder & | select_avg (string field) |
| AVG聚合(无别名) | |
| sql_builder & | select_max (string field, string alias) |
| MAX聚合 | |
| sql_builder & | select_max (string field) |
| MAX聚合(无别名) | |
| sql_builder & | select_min (string field, string alias) |
| MIN聚合 | |
| sql_builder & | select_min (string field) |
| MIN聚合(无别名) | |
| sql_builder & | select_distinct (string field) |
| 添加DISTINCT字段 | |
| sql_builder & | select_subquery (string subquery, string alias) |
| 添加子查询作为SELECT字段 | |
| sql_builder & | select_subquery (string subquery) |
| 添加子查询作为SELECT字段(无别名) | |
| sql_builder & | from_subquery (string subquery, string alias) |
| 使用子查询作为FROM表 | |
| sql_builder & | reset () noexcept |
| 重置构建器状态 | |
| NEFORCE_NODISCARD sql_operate | type () const noexcept |
| 获取当前SQL操作类型 | |
| NEFORCE_NODISCARD string_view | table () const noexcept |
| 获取当前表名 | |
| NEFORCE_NODISCARD bool | is_empty () const noexcept |
| 检查构建器是否为空 | |
| NEFORCE_NODISCARD string | build () const |
| 构建最终的SQL语句 | |
SQL语句构建器
提供流式API构建SQL语句:
在文件 sql_builder.hpp 第 94 行定义.
| sql_builder::sql_builder | ( | const sql_builder & | other | ) |
| NEFORCE_NODISCARD string sql_builder::build | ( | ) | const |
| sql_builder & sql_builder::columns | ( | vector< string > | fields | ) |
| sql_builder & sql_builder::delete_from | ( | string | table | ) |
设置DELETE FROM表名
| table | 表名 |
引用了 delete_from(), sql_builder() , 以及 table().
被这些函数引用 delete_from().
| sql_builder & sql_builder::distinct | ( | ) |
|
noexcept |
|
noexcept |
| sql_builder & sql_builder::from_subquery | ( | string | subquery, |
| string | alias ) |
使用子查询作为FROM表
| subquery | 子查询SQL |
| alias | 别名 |
引用了 from_subquery() , 以及 sql_builder().
被这些函数引用 from_subquery().
| sql_builder & sql_builder::full_join | ( | string | table, |
| string | on_condition ) |
添加FULL JOIN子句
| table | 连接表名 |
| on_condition | ON条件 |
引用了 full_join(), sql_builder() , 以及 table().
被这些函数引用 full_join().
| sql_builder & sql_builder::group_by | ( | const vector< string > & | fields | ) |
| sql_builder & sql_builder::group_by | ( | string | field | ) |
添加GROUP BY字段
| field | 字段名 |
引用了 group_by() , 以及 sql_builder().
被这些函数引用 group_by() , 以及 group_by().
| sql_builder & sql_builder::having | ( | string | condition | ) |
| sql_builder & sql_builder::inner_join | ( | string | table, |
| string | on_condition ) |
添加INNER JOIN子句
| table | 连接表名 |
| on_condition | ON条件 |
引用了 inner_join(), sql_builder() , 以及 table().
被这些函数引用 inner_join().
| sql_builder & sql_builder::insert_into | ( | string | table | ) |
| sql_builder & sql_builder::insert_into | ( | string | table, |
| vector< string > | fields ) |
设置INSERT INTO表名和字段
| table | 表名 |
| fields | 字段列表 |
引用了 insert_into(), sql_builder() , 以及 table().
被这些函数引用 insert_into() , 以及 insert_into().
|
inlinenoexcept |
| sql_builder & sql_builder::join | ( | sql_join | type, |
| string | table, | ||
| string | on_condition ) |
| sql_builder & sql_builder::join | ( | string | table, |
| string | on_condition ) |
| sql_builder & sql_builder::left_join | ( | string | table, |
| string | on_condition ) |
添加LEFT JOIN子句
| table | 连接表名 |
| on_condition | ON条件 |
引用了 left_join(), sql_builder() , 以及 table().
被这些函数引用 left_join().
| sql_builder & sql_builder::limit | ( | int | count | ) |
| sql_builder & sql_builder::offset | ( | int | count | ) |
| sql_builder & sql_builder::operator= | ( | const sql_builder & | other | ) |
| sql_builder & sql_builder::or_where | ( | string | condition | ) |
添加OR条件(与上一个条件组合)
| condition | 条件表达式 |
将当前条件与上一个条件用OR连接。
引用了 or_where() , 以及 sql_builder().
被这些函数引用 or_where().
| sql_builder & sql_builder::order_by | ( | string | field, |
| sql_order | order = sql_order::ASC ) |
| sql_builder & sql_builder::order_by_asc | ( | string | field | ) |
| sql_builder & sql_builder::order_by_desc | ( | string | field | ) |
| sql_builder & sql_builder::page | ( | int | page_num, |
| int | page_size ) |
| sql_builder & sql_builder::remove | ( | ) |
|
noexcept |
| sql_builder & sql_builder::right_join | ( | string | table, |
| string | on_condition ) |
添加RIGHT JOIN子句
| table | 连接表名 |
| on_condition | ON条件 |
引用了 right_join(), sql_builder() , 以及 table().
被这些函数引用 right_join().
| sql_builder & sql_builder::select | ( | std::initializer_list< string > | fields | ) |
| sql_builder & sql_builder::select | ( | string | field | ) |
| sql_builder & sql_builder::select | ( | vector< string > | fields | ) |
|
noexcept |
| sql_builder & sql_builder::select_distinct | ( | string | field | ) |
添加DISTINCT字段
| field | 字段名 |
引用了 select_distinct() , 以及 sql_builder().
被这些函数引用 select_distinct().
| sql_builder & sql_builder::select_subquery | ( | string | subquery | ) |
| sql_builder & sql_builder::select_subquery | ( | string | subquery, |
| string | alias ) |
添加子查询作为SELECT字段
| subquery | 子查询SQL |
| alias | 别名 |
引用了 select_subquery() , 以及 sql_builder().
被这些函数引用 select_subquery() , 以及 select_subquery().
| sql_builder & sql_builder::set | ( | string | assignment | ) |
| sql_builder & sql_builder::set | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::set_decrement | ( | string | field, |
| int | value = 1 ) |
添加自减赋值
| field | 字段名 |
| value | 减少量,默认为1 |
引用了 set_decrement() , 以及 sql_builder().
被这些函数引用 set_decrement().
| sql_builder & sql_builder::set_increment | ( | string | field, |
| int | value = 1 ) |
添加自增赋值
| field | 字段名 |
| value | 增加量,默认为1 |
引用了 set_increment() , 以及 sql_builder().
被这些函数引用 set_increment().
|
inlinenoexcept |
获取当前表名
在文件 sql_builder.hpp 第 618 行定义.
引用了 basic_string_view< CharT, Traits >::view().
被这些函数引用 delete_from(), from(), from(), full_join(), inner_join(), insert_into(), insert_into(), join(), join(), left_join(), right_join() , 以及 update().
|
inlinenoexcept |
| sql_builder & sql_builder::update | ( | string | table | ) |
| sql_builder & sql_builder::values | ( | vector< string > | values | ) |
设置VALUES占位符
| values | 值占位符列表(如"?"或实际值) |
引用了 sql_builder() , 以及 values().
被这些函数引用 values(), where_in() , 以及 where_not_in().
| sql_builder & sql_builder::where | ( | string | condition | ) |
| sql_builder & sql_builder::where_between | ( | string | field, |
| string | start, | ||
| string | end ) |
添加BETWEEN条件
| field | 字段名 |
| start | 起始值 |
| end | 结束值 |
引用了 end(), sql_builder() , 以及 where_between().
被这些函数引用 where_between().
| sql_builder & sql_builder::where_eq | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::where_exists | ( | string | subquery | ) |
| sql_builder & sql_builder::where_ge | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::where_gt | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::where_in | ( | string | field, |
| vector< string > | values ) |
添加IN条件
| field | 字段名 |
| values | 值列表 |
引用了 sql_builder(), values() , 以及 where_in().
被这些函数引用 where_in().
| sql_builder & sql_builder::where_is_not_null | ( | string | field | ) |
添加IS NOT NULL条件
| field | 字段名 |
引用了 sql_builder() , 以及 where_is_not_null().
被这些函数引用 where_is_not_null().
| sql_builder & sql_builder::where_is_null | ( | string | field | ) |
| sql_builder & sql_builder::where_le | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::where_like | ( | string | field, |
| string | pattern ) |
| sql_builder & sql_builder::where_lt | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::where_ne | ( | string | field, |
| string | value ) |
| sql_builder & sql_builder::where_not_between | ( | string | field, |
| string | start, | ||
| string | end ) |
添加NOT BETWEEN条件
| field | 字段名 |
| start | 起始值 |
| end | 结束值 |
引用了 end(), sql_builder() , 以及 where_not_between().
被这些函数引用 where_not_between().
| sql_builder & sql_builder::where_not_exists | ( | string | subquery | ) |
添加NOT EXISTS条件
| subquery | 子查询 |
引用了 sql_builder() , 以及 where_not_exists().
被这些函数引用 where_not_exists().
| sql_builder & sql_builder::where_not_in | ( | string | field, |
| vector< string > | values ) |
添加NOT IN条件
| field | 字段名 |
| values | 值列表 |
引用了 sql_builder(), values() , 以及 where_not_in().
被这些函数引用 where_not_in().
| sql_builder & sql_builder::where_not_like | ( | string | field, |
| string | pattern ) |
添加NOT LIKE条件
| field | 字段名 |
| pattern | 模式 |
引用了 sql_builder() , 以及 where_not_like().
被这些函数引用 where_not_like().