使用php执行* .sql文件

时间:2011-08-12 10:21:54

标签: php mysql

我需要执行一个.sql文件,该文件有大约48个表要创建。它由注释和sql命令组成,以“;”结尾。有没有办法运行这些sql命令,一次将它们带到一个字符串。我的意思是我需要使用php立即运行整个文件。我可以使用mysql_query函数逐行执行该文件。但我需要做的是同时执行所有这些操作,就像在phpmyadmin中一样。

有没有办法做到这一点。我需要使用php来做到这一点。有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:7)

您正在寻找

另一种方法是使用命令行客户端:

mysql -u USERNAME -p DATABASENAME < FILE.SQL 

您可以将其与exec和/或system一起使用,但之后必须在-p之后提供密码。上面的命令会提示你。

答案 1 :(得分:1)

您可以展开查询

function batch($file){
    $queries = explode(";", $file);
    foreach($queries as $query){
        mysql_query($query);
    }
}

答案 2 :(得分:0)

我编写了一个非常通用的函数,它以Deploy作为输入,并将对mysql数据库执行它。

下面的代码写在codeigniter中;但是对于任何框架都很容易修改。此代码试图尽可能地移植,因此它可以在许多环境中工作。它不做任何奇特的字符串解析或拆分;相反,它依赖于大量使用mysql或php内置的方法。

$file

Github gist

https://gist.github.com/blasto333/d5d9079c78565c97119506e3c4f5ae3e