Ⅰ 怎麼用phpadmin導入資料庫
1.打開任意瀏覽器,在地址欄中輸入:「localhost/phpmyadmin」並點擊「Enter」回車鍵進入下一步。(如果頁面打不開,檢查一下電腦的Apache伺服器和MySQL資料庫是否已經開啟)
2.在PhpMyAdmin管理界面中,找到「資料庫」字樣按鈕並點擊進入下一步
3.在界面的「新建資料庫」下方的方框中輸入自己需要創建的資料庫名稱,資料庫的編碼選擇「utf8_general_ci」這一欄,並點擊頁面後方的「創建」按鈕完成新資料庫的建立。
4.在PhpMyAdmin界面左邊欄的資料庫列表中,找到自己剛才創建的資料庫名稱,點擊進入界面,在右方的頂部菜單欄中找到「導入」按鈕並點擊,然後找到頁面中的「選擇」按鈕點擊進入下一步。
5.此時已經進入資料庫文件的選擇窗口,找到自己將要導入的資料庫文件,然後點擊窗口右下方的「打開」按鈕進入下一步。
6.此時資料庫會自動載入進入PhpMyAdmin中,找到頁面中的「執行」按鈕點擊完成資料庫的導入操作。
遇到導入過大文件時,首先檢查php.ini 配置文件中的以下三個地方,upload_max_filesize, memory_limit 和post_max_size,並且推薦修改的值要稍大於導入的巨大sql資料庫文件;依照這個提示,我修改了以上三個在php.ini中的值以後,重啟 了php環境,再次導入時,雖然phpMyAdmin還是顯示導入最大限制:20,480 KB,但巨大的80M資料庫文件已經被成功的導入了。
Ⅱ PHP Excel大批量導入崩潰怎麼辦
項目需要批量導入excel文件,如果裡面有重復的數據要怎麼處理呢?每插入一次數據都要到資料庫查詢么?
回復內容:
項目需要批量導入excel文件,如果裡面有重復的數據要怎麼處理呢?每插入一次數據都要到資料庫查詢么?
1、如果裡面有重復的數據要怎麼處理呢?
1
<code>可以先判斷資料庫是否有該數據。</code>
2、每插入一次數據都要到資料庫查詢么
1
<code>是的。</code>
先去重得到沒有重復的數據,再批量插入資料庫。也可以嘗試MYSQL中的insert ignore into或 replace into
如果查詢比較慢,對不能重復的欄位加唯一鍵,然後用INSERT IGNORE INTO
php批量導入數據出錯
我現在要做的是,把一個產品數據從EXCEL中導入到PHP的MYSQL中,導入的過程中,總是會提示「Allowed memory size of 167772160 bytes exhausted (tried to allocate 689919 bytes) in D:\wamp\www\Company\proct\admin\uploadOrder.php on line 167」這個錯誤,然後我分成第100條導入時,就不會提示這個錯誤,這個是不是內存溢出,有沒有好的解決方法呢?
------解決方案--------------------
php.ini中講memory_limit選項設置大一點,然後重啟apache或nginx就行了
------解決方案--------------------
文件太大了,這樣的話可以用source命令直接導入!
------解決方案--------------------
Ⅲ 如何用php導出導入大資料庫
在使用PhpMyAdmin的時候經常用到數據的導入和導出(Export/Import),但是在導入大數據的時候由於php上傳文件的限制和腳本響應時間的限制,導致phpMyAdmin無法導入大數據。很多時候都是由於文件過大,從本地瀏覽上傳導入,容易中斷失敗,有沒有更好的方法呢?
方法:
在phpMyAdmin的目錄下,找到根目錄的config.inc.php文件,
打開config.inc.php文件,查找$cfg['UploadDir'],這個參數就是設定導入文件存放的目錄,這里把值設定為:ImportSQLFile。
在phpMyAdmin目錄下,建立以ImportSQLFile命名的文件夾,
把我們需要導入的數據文件,放到ImportSQLFile文件夾下面,非常簡單,
登入phpMyAdmin,選擇需要導入的數據,點擊導航條上面的「導入」按鈕,
選中「從網站伺服器上傳文件夾ImportSQLFile/中選擇:」選項,並需要導入的數據文件,
最後點擊「執行」,即可導入成功。
注意事項
如果在config.inc.php文件,沒有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
Ⅳ 怎麼把php源碼資料庫導入資料庫
可以參考:
一般是單獨導入的,
在mysql上,要用mysql_import工具 把文本導入
sqlserver上可以用資料庫備份工具恢復導入, 也可以使用其他資料庫引擎通過ado到。
不需要源碼,但是需要了解php源碼所需要的庫表結構。一般php源碼里好多都有建立空庫結構的源碼。
Ⅳ php如何讀取CSV大文件並且將其導入資料庫示例
思路:
讀取csv文件,每讀取一行數據,就插入資料庫
示例
文件夾結構
/
file.csv//csv大文件,這里只模擬三行數據,不考慮運行效率(PS:csv文件格式很簡單,文件一般較小,解析很快,運行效率的瓶頸主要在寫入資料庫操作)
index.php//php文件
file.csv
singi,20
lily,19
daming,23
index.php
/**
*讀取csv文件,每讀取一行數據,就插入資料庫
*/
//獲取資料庫實例
$dsn='mysql:dbname=test;host=127.0.0.1';
$user='root';
$password='';
try{
$db=newPDO($dsn,$user,$password);
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();
}
//讀取file.csv文件
if(($handle=fopen("file.csv","r"))!==FALSE){
while(($row=fgetcsv($handle,1000,","))!==FALSE){
//寫入資料庫
$sth=$db->prepare('insertintotestsetname=:name,age=:age');
$sth->bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth->bindParam(':age',$row[1],PDO::PARAM_INT);
$sth->execute();
}
fclose($handle);
}
數據表
CREATETABLE`test`(
`id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT,
`name`VARCHAR(255)NULLDEFAULT''COLLATE'utf8mb4_bin',
`age`INT(10)NULLDEFAULT'0',
PRIMARYKEY(`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
運行結束後,資料庫中會插入csv中的三行數據
Ⅵ 求關於php excel導入大數據到mysql的解決辦法
下載 PHPExcel
require_once('./PHPExcel/IOFactory.php');
$filePath='D:/xxx.xlsx';//excel文件名
$objReader=newPHPExcel_Reader_Excel2007();//具體查看(Documentation/Examples/Reader/exampleReader01.php)
$objPHPExcel=$objReader->load($filePath);
$sheetData=$objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$insql='insertinto表名(x,x,x)valeus';
//遍歷數組$sheetData
//如果有標題先刪除unset($sheetData[1]);
foreach($sheetDataas$k=>$data){
$insql.='('.$data['A'].','.$data['B'].','.$data['C'].'),';
//一次插入100條數據減少資料庫壓力
if(($k+1/100)==0){
$insql=rtrim($insql,',').';';//將最後的逗號替換成分好
//插入資料庫並且重置字元串$insql
//或者保存到文件中利用source命令插入資料庫
}
}
Ⅶ php 怎麼解決 大數據量 插入資料庫
ini_set('max_execution_time','0');
$pdo
=
new
PDO("mysql:host=localhost;dbname=test","root","123456");
$sql
=
"insert
into
test(name,age,state,created_time)
values";
for($i=0;
$i<100000;
$i++){
$sql
.="('zhangsan',21,1,'2015-09-17')";
}
$sql
=
substr($sql,0,strlen($sql)-1);
var_mp($sql);
if($pdo
->
exec($sql)){
echo
"插入成功!";
echo
$pdo
->
lastinsertid();
}
試試吧。10萬條1分鍾多,我覺得還行
Ⅷ php怎麼把數據導入資料庫
需要PHP基礎知識和資料庫基礎知識。
以SQL為例。使用PHP MySQL 函數可以編輯資料庫。
mysql_connect() 函數打開MySQL 連接。舉例
<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}// 一些代碼...mysql_close($con);
?>
mysql_connect()三個參數分別是伺服器名,連接賬號,連接密碼。
連接之後,可以使用mysql_select_db()設置要處理的資料庫,後面則是用資料庫語句處理數據。SQL語法簡介網頁鏈接
Ⅸ php+Mysql 大數據導入怎樣提高效率
優化SQL插入語句;
比如循環一條一條插入,改成鏈接多個值進行插入。
將:
foreach($re as $it){
$sql="insert into table (id,name) values(".$it['id'].","."$it['name'].")";
mysql_query($sql);
}
改為:
$sql="insert into table (id,name) values";
foreach($re as $it){
$str= "'".$it['id']."','".$it['name']."'";
}
$sql .= "(".$str."),";
$sql2 = substr($sql,0,-1);
mysql_query($sql);
打開mysql的配置文件,my.ini文件,並找到:max_allowed_packet項;
將值修改大一點,具體根據自己需要修改。比如這里修改為:1G。
重啟mysql服務;
5
如果運行頁面提示內存溢出,可將值設大一點。
Allowed memory size of 134217728 bytes exhausted (tried to allocate 132907287 bytes)
步驟閱讀
6
這樣,面對千萬數據導入的時候,比原來那種方法至少快好多倍。