phpsql文件
發布時間: 2023-09-11 20:05:54
SQL文件,你可以這樣導入MySQL中:
首先把SQL文件(假設名為abc.sql)復制到MySQL\bin目錄下;
打開命令提示符,轉到MySQL\bin的目錄,輸入命令:
mysql -u root -p db_name < abc.sql
回車後,要求你輸入密碼。密碼正確後就把數據導入資料庫中了。
說明:
-u root 表明使用的帳號為root
-p 有密碼。
db_name < abc.sql 將abc.sql導入到資料庫db_name中。
如果這種方法在你的機子上不適用的話,那就只有試試phpMyAdmin了。
⑵ 如何利用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
⑶ php 架構的網站 資料庫文件(*.sql) 怎樣上傳到伺服器
如果您要將自己的資料庫導入伺服器,
1.
可以點擊下面的「建立備份」一。
2.
點擊建立「備份用FTP」。
3.
用FTP將您自己的資料庫備份文件上傳到伺服器上,覆蓋伺服器上的1.bak(SQL
2000)/1.sql(Mysql)。
4.
再點從備份一中的「備份中還原。」
5.
如果導入過程中發生意外,需要重新導入,您要先點清空資料庫。
(在備份還原前,請您先停止您的網站一分鍾後再操作,否則資料庫正在使用中會造成操作失敗。)
還不清楚的話,你訪問下這個網址:
⑷ phpStudy怎麼導入sql文件啊
點擊MySQL管理器--》點擊進入MySQL-Front--》在localhost下選擇新建一個資料庫--》點擊新建資料庫後,在對象瀏覽器窗口,單擊右鍵--》輸入--》sql文件命令,進入後選擇對應.sql文件進行導入(注意:字元集格式選擇)
熱點內容