当前位置:首页 » 编程语言 » php导入sql文件

php导入sql文件

发布时间: 2022-12-29 08:08:24

A. phpStudy怎么导入sql文件啊

点击MySQL管理器--》点击进入MySQL-Front--》在localhost下选择新建一个数据库--》点击新建数据库后,在对象浏览器窗口,单击右键--》输入--》sql文件命令,进入后选择对应.sql文件进行导入(注意:字符集格式选择)

B. php如何将存有数据的文件导入数据库

其实sql文件,就是一些sql语句
填写好数据库相关操作后,点击下一步,首先将数据库连接起来
12mysql_connect(..............)//等等这些数据库连接代码
数据库连接后,开始读取sql文件
1234567$Sqls = file_get_contents( '你的sql文件' );//然后把读取到的sql文件内容打散成数组,当然,这个文件要有规律,就是每条sql语句有一个特定的分隔符,比如分号;$SqlArr = explode(';', $Sqls );//最后就是循环遍历出这些sql语句并执行,即可foreach ( $SqlArr as $sql ) { mysql_query( $Sql );}
上面只是一个大致思路原理,
具体的话,还是要根据具体情况来弄的!
特别是那个sql文件中的内容,一定要有一定的规律,并且一些不必要的东西不能有,
比如注释(很多人从phpmyadmin导出的sql文件,都会带上注释,
而注释是不符合sql语句规范的,会执行出错,
所以导出后,自己根据情况修改一下!)

C. 如何利用PHP执行.SQL文件

本篇文章是对使用PHP执行 SQL文件的实现代码进行了详细的分析介绍 需要的朋友参考下

demo php:

复制代码 代码如下: <?php /** * 读取 sql 文件并写入数据库 * @version demo php */ class DBManager { var $dbHost = ; var $dbUser = ; var $dbPassword = ; var $dbSchema = ; function __construct($host $user $password $schema) { $this >dbHost = $host; $this >dbUser = $user; $this >dbPassword = $password; $this >dbSchema = $schema; } function createFromFile($sqlPath $delimiter = (;/n)|((;/r/n))|(;/r) $prefix = $menter = array( # )) { //判断文件是否存在 if(!file_exists($sqlPath)) return false; $handle = fopen($sqlPath rb ); $sqlStr = fread($handle filesize($sqlPath)); //通过sql语法的语句分割符进行分割 $segment = explode(";" trim($sqlStr)); //var_mp($segment); //去掉注释和多余的空行 foreach($segment as & $statement) { $sentence = explode("/n" $statement); $newStatement = array(); foreach($sentence as $subSentence) { if( != trim($subSentence)) { //判断是会否是注释 $isComment = false; foreach($menter as $er) { if(eregi("^(" $er ")" trim($subSentence))) { $isComment = true; break; } } //如果不是注释 则认为是sql语句 if(!$isComment) $newStatement[] = $subSentence; } } $statement = $newStatement; } //对表名加前缀 if( != $prefix) { //只有表名在第一行出现时才有效 例如 CREATE TABLE talbeName $regxTable = "^[/`/ /"]{ }[/_a zA Z]+[/_a zA Z ]*[/`/ /"]{ }$";//处理表名的正则表达式 $regxLeftWall = "^[/`/ /"]{ }"; $sqlFlagTree = array( "CREATE" => array( "TABLE" => array( "$regxTable" => ) ) "INSERT" => array( "INTO" => array( "$regxTable" => ) ) ); foreach($segment as & $statement) { $tokens = split(" " $statement[ ]); $tableName = array(); $this >findTableName($sqlFlagTree $tokens $tableName); if(empty($tableName[ leftWall ])) { $newTableName = $prefix $tableName[ name ]; } else{ $newTableName = $tableName[ leftWall ] $prefix substr($tableName[ name ] ); } $statement[ ] = str_replace($tableName[ name ] $newTableName $statement[ ]); } } //组合sql语句 foreach($segment as & $statement) { $newStmt = ; foreach($statement as $sentence) { $newStmt = $newStmt trim($sentence) "/n"; } $statement = $newStmt; } //用于测试 //var_mp($segment); //writeArrayToFile( data txt $segment); // self::saveByQuery($segment); return true; } private function saveByQuery($sqlArray) { $conn = mysql_connect($this >dbHost $this >dbUser $this >dbPassword); mysql_select_db($this >dbSchema); foreach($sqlArray as $sql) { mysql_query($sql); } mysql_close($conn); } private function findTableName($sqlFlagTree $tokens $tokensKey= & $tableName = array()) { $regxLeftWall = "^[/`/ /"]{ }"; if(count($tokens)<=$tokensKey) return false; if( == trim($tokens[$tokensKey])) { return self::findTableName($sqlFlagTree $tokens $tokensKey+ $tableName); } else { foreach($sqlFlagTree as $flag => $v) { if(eregi($flag $tokens[$tokensKey])) { if( ==$v) { $tableName[ name ] = $tokens[$tokensKey]; if(eregi($regxLeftWall $tableName[ name ])) { $tableName[ leftWall ] = $tableName[ name ]{ }; } return true; } else{ return self::findTableName($v $tokens $tokensKey+ & $tableName); } } } } return false; } } function writeArrayToFile($fileName $dataArray $delimiter="/r/n") { $handle=fopen($fileName "wb"); $text = ; foreach($dataArray as $data) { $text = $text $data $delimiter; } fwrite($handle $text); } //测试 $dbM = new DBManager( localhost w f test ); $dbM >createFromFile( data sql null fff_ ); ?> lishixin/Article/program/PHP/201311/21281

D. 如何用phpmyadmin导入大容量.sql文件

phpmyadmin导入大容量.sql文件步骤:

1,选中,并点击需要需要导入到的数据库:


出现:导入成功,执行了 xxx 个查询。这句话,说明数据库导入已经成功了。

热点内容
华硕天选2air配置如何选择 发布:2025-07-03 16:10:09 浏览:571
asp搜索源码 发布:2025-07-03 15:49:55 浏览:235
医美大数据库 发布:2025-07-03 15:47:07 浏览:356
c语言将二进制转化为十进制 发布:2025-07-03 15:32:47 浏览:988
c语言帮助文档 发布:2025-07-03 15:22:43 浏览:320
双端口存储器在情况下会发生读写冲突 发布:2025-07-03 15:12:54 浏览:271
快站数据库 发布:2025-07-03 14:45:44 浏览:40
jsp获取上传文件路径 发布:2025-07-03 14:44:46 浏览:569
php时间微妙 发布:2025-07-03 14:39:38 浏览:844
巨豆豆手机回复出厂密码是什么 发布:2025-07-03 14:35:19 浏览:474