第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將CSV導入mysql表

將CSV導入mysql表

慕姐8265434 2019-09-19 10:43:50
將csv文件上傳到mysql表的最佳/最快方法是什么?我想將第一行數(shù)據(jù)用作列名。發(fā)現(xiàn)這個:如何將CSV文件導入MySQL表但唯一的答案是使用GUI而不是shell?
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

您可以直接將MYSQL鏈接到它并使用以下SQL語法上載信息,而不是編寫腳本以從CSV文件中提取信息。


要將Excel文件導入MySQL,請先將其導出為CSV文件。從生成的CSV文件中刪除CSV標題以及Excel可能放在CSV文件末尾的空數(shù)據(jù)。


然后,您可以通過運行以下命令將其導入MySQL表:


load data local infile 'uniq.csv' into table tblUniq fields terminated by ','

  enclosed by '"'

  lines terminated by '\n'

    (uniqName, uniqCity, uniqComments)

正如讀?。簩SV文件直接導入MySQL


編輯

對于您的情況,您需要先編寫一個解釋器,以查找第一行,并將它們指定為列名。


編輯-2

來自MySQL文檔的LOAD DATA語法:


該IGNORE number LINES選項可用于忽略文件開頭的行。例如,您可以使用IGNORE 1 LINES跳過包含列名的初始標題行:


LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;

因此,您可以使用以下語句:


LOAD DATA LOCAL INFILE 'uniq.csv'

INTO TABLE tblUniq

FIELDS TERMINATED BY ','

    ENCLOSED BY '"'

LINES TERMINATED BY '\n'

IGNORE 1 LINES

(uniqName, uniqCity, uniqComments)


查看完整回答
反對 回復 2019-09-19
?
嗶嗶one

TA貢獻1854條經(jīng)驗 獲得超8個贊

這是一個簡單的PHP命令行腳本,可以滿足您的需求:


<?php


$host = 'localhost';

$user = 'root';

$pass = '';

$database = 'database';


$db = mysql_connect($host, $user, $pass);

mysql_query("use $database", $db);


/********************************************************************************/

// Parameters: filename.csv table_name


$argv = $_SERVER[argv];


if($argv[1]) { $file = $argv[1]; }

else {

    echo "Please provide a file name\n"; exit; 

}

if($argv[2]) { $table = $argv[2]; }

else {

    $table = pathinfo($file);

    $table = $table['filename'];

}


/********************************************************************************/

// Get the first row to create the column headings


$fp = fopen($file, 'r');

$frow = fgetcsv($fp);


foreach($frow as $column) {

    if($columns) $columns .= ', ';

    $columns .= "`$column` varchar(250)";

}


$create = "create table if not exists $table ($columns);";

mysql_query($create, $db);


/********************************************************************************/

// Import the data into the newly created table.


$file = $_SERVER['PWD'].'/'.$file;

$q = "load data infile '$file' into table $table fields terminated by ',' ignore 1 lines";

mysql_query($q, $db);


?>

它將基于第一行創(chuàng)建一個表,并將剩余的行導入其中。這是命令行語法:


php csv_import.php csv_file.csv table_name


查看完整回答
反對 回復 2019-09-19
?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

首先在數(shù)據(jù)庫中創(chuàng)建一個表,其中包含csv文件中相同數(shù)量的列。


然后使用以下查詢


LOAD DATA INFILE 'D:/Projects/testImport.csv' INTO TABLE cardinfo

FIELDS TERMINATED BY ',' ENCLOSED BY '"'

LINES TERMINATED BY '\r\n'


查看完整回答
反對 回復 2019-09-19
  • 3 回答
  • 0 關注
  • 640 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號