用C执行.mysql文件

时间:2015-04-02 17:39:51

标签: mysql c

我有一堆.mysql文件,其中包含或多或少复杂的MySQL查询和 我正在寻找一种方法将.mysql文件传递给mysql_query。

对我来说最舒服的解决方案是使用fopen打开.mysql文件并将指针传递给mysql_query,但我怀疑这会有效。

我想到的另一种方法是逐行将文件读入缓冲区,然后将缓冲区传递给mysql_query。这个解决方案的问题是,我需要从文件中删除所有换行符(CR,LF),同时将其读入缓冲区,我不知道该怎么做。

也许有人对我有更好的解决方案?我在网上找不到任何关于C的内容。

示例.sql文件:

SELECT 
    IF((SELECT 
                name
            FROM
                zeiterf.stdjobs
            WHERE
                nr = zeiterf.wtime.job) != '',
        (SELECT 
                name
            FROM
                zeiterf.stdjobs
            WHERE
                nr = zeiterf.wtime.job),
        job),
    IF(usr != '',
        (SELECT 
                vname
            FROM
                zeiterf.user
            WHERE
                nr = zeiterf.wtime.usr),
        NULL),
    IF(usr != '',
        (SELECT 
                nname
            FROM
                zeiterf.user
            WHERE
                nr = zeiterf.wtime.usr),
        NULL),
    SEC_TO_TIME(SUM(TIME_TO_SEC(tout) - TIME_TO_SEC(tin)))
FROM
    zeiterf.wtime
WHERE
    tout != 0
AND
    job != '...ENDE'
GROUP BY job , usr WITH ROLLUP;

0 个答案:

没有答案