我一直在寻找不同的数据存储方式,我想我必须使用数据库。 但是我一直讨厌数据库的是,我完全不是我 - 想要创建C ++程序的人 - 期望它(创建查询......撞到墙上)。
我找到了EasySQLite,但我发现MySQL没什么好笑的。有这样的吗?
以下是我所说的伪代码示例:
Database * db = NULL;
int main()
{
db = new Database("127.0.0.1","Database","Username","Password");
if(db)
{
Table users = db->CreateTable("Users");
users.AddField("username",FIELD_TYPE_STRING);
users.AddField("birthdate",FIELD_TYPE_TIMESTAMP);
Record LastUser = users.insert("The Pet",time());
std::string username(LastUser.GetField("username"));
LastUser.remove();
db->Disconnect();
}
return 0;
}
答案 0 :(得分:2)
考虑使用ORM。这是一个很好的ODB。
答案 1 :(得分:1)
我只能想到几个选项:
使用支持NoSQL Api的mysql版本。例如,Mysql集群7.2似乎。这样你应该能够做你想要的,尽管你将大部分东西存储为blob。
实现自己的库,有效地使用mysql表作为键值存储,或将单个函数调用映射到sql查询。这可能是非常低效的,所以我只提到它的完整性。当然,你也可以使用其他人的某个orm库,但无论哪种方式,性能都会很糟糕,你会得到更多的bug,而不是更少。
如果您不想使用sql,请不要使用mysql。它可能是显而易见的,但实际上,MySQL是建立在SQL之上的,所以希望绕过它(我真的理解它)试图用锤子作为螺丝刀。还有很多其他选择。 TokyoCabinet,Kyoto ...,MongoDB,MemcacheD,CouchDB,......有很多替代方案可以使用没有任何基于字符串的查询语言。