# mix_cc::sql ## 一个简易的,高效的c++ sql接口和查询库 ## 项目依赖 1. 编译器最低支持 c++17/20 (17会导致一处的异常处理无法使用) 2. sqlapi++ 3. boost 1.75(min) ## 目前支持的字段包括 1. select 2. from 3. where 4. insert_into 5. update 6. set 7. delete_from ## 使用流程 1. 使用make_table中的宏MIX_CC_SQL_MAKE_TABLE(表名,(列属性1,列名1),(列属性2,列名2),...(列属性n,列名n),) n <= 40 构建目标表 2. 使用sql字段构建sql语句,如 ```c++ auto sql_statement = select(t_rule_cfg.algId(), t_rule_cfg.ruleId(), t_rule_cfg.ruleName(), t_rule_cfg.flag(), t_rule_cfg.ruleParam()) .from(t_rule_cfg).where(t_rule_cfg.aldId()==40); ``` 3. 使用exec(sql_statement)函数执行sql语句(其中查询的exec不同,为exec(表名,sql语句)) 4. 使用auto类型接受exec函数的执行结果,其中查询为表的行数组,其它为受影响的行数 ## 注意事项 1. 目前支持的数据库类型仅为db2 2. 目前支持的数据类型包含 int,double,char,string,mix_cc::mix_time(对应db2中time_stamp) 3. 目前字符不支持特殊字符,需要更改对sqlapi++的使用方式