谁能解释一下如何将Microsoft Excel文件导入到MySQL数据库中?
例如,我的Excel表如下所示:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
谁能解释一下如何将Microsoft Excel文件导入到MySQL数据库中?
例如,我的Excel表如下所示:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Answers:
将其导出为某种文本格式。最简单的可能是制表符分隔的版本,但是CSV也可以使用。
使用加载数据功能。见http://dev.mysql.com/doc/refman/5.1/en/load-data.html
查看页面的一半,因为它将为制表符分隔的数据提供一个很好的示例:
以'\ t'终止的字段''''以'\'结束
检查您的数据。有时引用或转义会出现问题,并且您需要调整源代码,导入命令-否则通过SQL进行后处理可能会更容易。
有一个简单的在线工具sqlizer.io可以做到这一点。
您将XLSX文件上传到其中,输入工作表名称和单元格范围,它将生成CREATE TABLE语句和一堆INSERT语句,以将所有数据导入MySQL数据库。
(免责声明:我帮助运行SQLizer)
下面是将电子表格数据导入不依赖任何其他软件的MySQL数据库的另一种方法。假设您要将Excel表导入到sales
名为的MySQL数据库的表中mydatabase
。
选择相关的单元格:
粘贴到Mr. Data Converter中,然后选择输出作为MySQL:
更改表名称和列定义以在生成的输出中满足您的要求:
CREATE TABLE sales (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Country VARCHAR(255),
Amount INT,
Qty FLOAT
);
INSERT INTO sales
(Country,Amount,Qty)
VALUES
('America',93,0.60),
('Greece',9377,0.80),
('Australia',9375,0.80);
如果您正在使用MySQL Workbench或已经mysql
从命令行登录,则可以直接执行步骤3中生成的SQL语句。否则,将代码粘贴到文本文件(例如import.sql
)中,然后从Unix shell执行以下命令:
mysql mydatabase < import.sql
从SQL文件导入的其他方法可以在此Stack Overflow答案中找到。
实际上,有几种方法可以将excel文件导入到MySQL数据库中,复杂程度和成功程度各不相同。
Excel2MySQL。放下手,这是将Excel数据导入MySQL的最简单,最快的方法。它支持所有版本的Excel,不需要Office安装。
LOAD DATA INFILE:这个流行的选项也许是最技术性的,并且需要对MySQL命令执行有所了解。您必须在加载和使用适当大小的VARCHAR字段类型之前手动创建表。因此,您的字段数据类型未优化。LOAD DATA INFILE无法导入超过“ max_allowed_packet”大小的大文件。需要特别注意以避免导入特殊字符和外来unicode字符时出现问题。这是我最近用来导入名为test.csv的csv文件的示例。
phpMyAdmin:首先选择数据库,然后选择“导入”选项卡。phpMyAdmin将自动创建表并调整VARCHAR字段的大小,但不会优化字段类型。phpMyAdmin无法导入超过“ max_allowed_packet”大小的大文件。
MySQL for Excel:这是Oracle提供的免费Excel加载项。此选项有点乏味,因为它使用向导,并且导入大文件时速度较慢且有错误,但是对于带有VARCHAR数据的小文件来说,这可能是个不错的选择。字段未优化。
最好和最简单的方法是使用“ MySQL for Excel”应用程序,该应用程序是oracle的免费应用程序。该应用程序向excel添加了一个插件,用于将数据导出和导入mysql。你可以从这里下载
使用文本文件导入数据时,引号和Excel如何格式化数字时遇到问题。例如,我的Excel配置使用逗号作为小数点分隔符,而不是点。
现在,我使用Microsoft Access 2010打开MySql表作为链接表。在那里,我可以简单地将单元格从Excel复制并粘贴到Access。
为此,首先安装MySql ODBC驱动程序并创建一个ODBC连接。然后在访问中的“外部数据”选项卡中,打开“ ODBC数据库”对话框,并使用ODBC连接链接到任何表。
使用MySql Workbench,您还可以将Excel数据复制并粘贴到MySql Workbench的结果网格中。我在这个答案中给出了详细的说明。
有关使用正确的编码(UTF-8)将Excel 2007导入MySQL的分步示例,请搜索以下注释:
“由Mike Laird于2010年10月13日12:50 am发布”
在下一个网址中:
作为MySQL的前端替代品,另一个有用的工具是Toad for MySQL。遗憾的是,Quest不再支持它,而是一个出色的MySQL IDE,带有IMPORT和EXPORT向导,可满足大多数文件类型的需要。