Mysql有没有c/c++ API可以直接执行一个.sql的文件,该文件主要用来更新数据库,例如修改或新建表,修改或新建存储过程!

解决方案 »

  1.   

    dos命令行:
    mysql -uroot -p <xxx.sql
      

  2.   

    mysql -u root -p dbcu< d:\xxx.sqlmysql   还原命令
    root       用户名(root管理员)
    dbcu   备份的数据库名;
    <           还原符号
    xxx.sql    还原的文件名
      

  3.   

    C API 中没有这种功能。
    你只能在C中打开这个xx.sql 文件,然后一次性,或分批将语句读出用mysql_real_query()执行
      

  4.   

    在mysql>下执行source a.sql可以执行.sql中的sql语句或者命令。
    你可以用c/c++来调用这个命令。
      

  5.   

    不太建议在C中通过调用操作系统命令中的mysql ...来实现这个功能。这样你的C程序对操作系统依赖性过高(比如你需要知道MYSQL。EXE的位置,需要了解是UNIX还是WINODWS)不如直接fopen 打开文件后,逐行读出,遇到; 则mysql_real_query()
    但如果出现 delimiter // 等这类的要做特殊处理。再简单一点儿,直接看一上mysql.exe 的源代码,从中抄一部分它的 source 部分的处理。
      

  6.   


    MYSQL官网就有。
    http://dev.mysql.com/downloads/mysql/5.1.html#source