sql-builder 基于 c++11 的 SQL 语句生成库开源项目

我要开发同款
匿名用户2016年04月05日
47阅读
开发技术C/C++
所属分类数据库相关
授权协议MIT

作品详情

sql-build是一个基于c++11的SQL语句生成库,通过使用函数调用以生成SQL操作语句,也支持对象化的数据插入和更新。使用demo如下:

    InsertModel i;    i.insert("score", 100)        .insert("name", std::string("six"))                "age", (unsigned char)20,                "address", "beijing",                "create_time", time(NULL))        .into("user");    std::cout<<i.str()<<std::endl;    // insert into user(score, name, age, address, create_time) values(100, 'six', 20, 'beijing', '2016-03-25 10:15:59')    SelectModel s;    s.select("id", "age", "name", "address")        .from("user")        .where(column("score") > 60 and (column("age") >= 20 or column("address").is_not_null()))        .group_by("age")        .having(column("age") > 10)        .order_by("age desc")        .limit(10)        .offset(1);    std::cout<<s<<std::endl;    // select id, age, name, address from user where (score > 60) and ((age >= 20) or (address is not null)) group by age having age > 10 order by age desc limit 10 offset 1    std::vector<int> a = {1, 2, 3};    UpdateModel u;    u.update("user")        .set("name", "ddc")        .set("age", 18,                "score", 18)        .set("address", "beijing")        .where(column("id").in(a));    std::cout<<u<<std::endl;    // update user set name = 'ddc', age = 18, score = 18, address = 'beijing' where id in (1, 2, 3)    DeleteModel d;    d._delete()        .from("user")        .where(column("id") == 1);    std::cout<<d<<std::endl;    // delete from user where id = 1    DataModel m;    m["address"] = "chengdu";    m["age"] = 18;    m.set("age", 20,            "score", 80,            "create_time", time(NULL));    u.reset();    u.update("user")        .set(m);    std::cout<<u<<std::endl;    // update user set address = 'chengdu', age = 20, create_time = '2016-03-25 23:06:25', score = 80    i.reset();    i.insert(m)        .into("user");    std::cout<<i<<std::endl;    // insert into user(address, age, create_time, score) values('chengdu', 20, '2016-03-25 23:06:25', 80)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论