如何将模拟到Excel文件的数据导入到MySql数据库表中?
问题描述:
我不是那么喜欢数据库,我有以下情况:我正在使用MySQL,我必须将一些数据导入到Microsoft Excel文件中。如何将模拟到Excel文件的数据导入到MySql数据库表中?
在此文件中,第一行单元格表示一个表格字段(每个单元格是一个字段),下面的行单元格包含与这些字段相关的值。
在开始时我曾想过要开发一个Java程序来访问这个Excel文件,解析它并填充我的数据库。但是这个解决方案是不可持续的,因为我有很多Excel文件(每个文件都包含特定表的模拟数据)。
我可以直接使用Excel文件(或.csv中的转换版本)来填充MySql表吗?存在一个简单的方法来做到这一点?
如果是这样,需要考虑哪些预防措施?
答
MySQL查询(如果您具备管理员权限)
SELECT * INTO OUTFILE "/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM test;
或简单的PHP脚本
$result = $db_con->query('SELECT * FROM `some_table`');
if (!$result) die('Couldn\'t fetch records');
$num_fields = mysql_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++) {
$headers[] = mysql_field_name($result , $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="export.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = $result->fetch_array(MYSQLI_NUM)) {
fputcsv($fp, array_values($row));
}
die;
}
有自己的问题,但你可以尝试https://dev.mysql.com /doc/refman/5.7/en/load-data.html – RiggsFolly