任何人都可以解释如何将Microsoft Excel文件导入MySQL数据库吗?
例如,我的Excel表格如下所示:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Run Code Online (Sandbox Code Playgroud)
提前致谢.
FERO
d4n*_*4nt 96
有一个简单的在线工具可以做到这个,称为sqlizer.io.
您上传一个XLSX文件,输入工作表名称和单元格范围,它将生成一个CREATE TABLE语句和一堆INSERT语句,以将所有数据导入MySQL数据库.
ndp*_*ndp 46
将其导出为某种文本格式.最简单的可能是制表符分隔的版本,但CSV也可以工作.
使用加载数据功能.请参阅http://dev.mysql.com/doc/refman/5.1/en/load-data.html
查看页面的一半,因为它将为制表符分隔数据提供一个很好的示例:
由'''''''''''''''''''''''''''''''''''''''''''''''''
检查您的数据.有时引用或转义有问题,您需要调整源代码,导入命令 - 或者通过SQL进行后处理可能更容易.
thd*_*oan 34
下面是另一种将电子表格数据导入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);
Run Code Online (Sandbox Code Playgroud)
如果您正在使用MySQL Workbench或已mysql
从命令行登录,则可以直接从步骤3执行生成的SQL语句.否则,将代码粘贴到文本文件(例如import.sql
)中,然后从Unix shell执行此命令:
mysql mydatabase < import.sql
可以在此Stack Overflow答案中找到从SQL文件导入的其他方法.
pan*_*ish 29
实际上有几种方法可以将excel文件导入到具有不同程度复杂性和成功的MySQL数据库中.
Excel2MySQL或 Navicat实用程序.完全披露,我是Excel2MySQL的作者.这两个实用程序不是免费的,但它们是最简单的选项,并且具有最少的限制.它们还包括其他功能,以帮助将Excel数据导入MySQL.例如,Excel2MySQL会自动创建您的表并自动优化字段数据类型,如日期,时间,浮点数等.如果您赶时间或无法获得其他选项来处理您的数据,那么这些实用程序可能会满足您的需求.
LOAD DATA INFILE:这个流行的选项可能是最具技术性的,需要对MySQL命令执行有所了解.您必须在加载之前手动创建表并使用适当大小的VARCHAR字段类型.因此,您的字段数据类型未进行优化.LOAD DATA INFILE无法导入超过"max_allowed_packet"大小的大文件.需要特别注意以避免导入特殊字符和外部unicode字符的问题.这是我用于导入名为test.csv的csv文件的最近示例.
phpMyAdmin:首先选择您的数据库,然后选择Import选项卡.phpMyAdmin将自动创建表并调整VARCHAR字段的大小,但不会优化字段类型.phpMyAdmin无法导入超过"max_allowed_packet"大小的大文件.
MySQL for Excel:这是Oracle提供的免费Excel加载项.这个选项有点单调乏味,因为它使用了一个向导,并且导入很慢并且有大型文件的错误,但对于包含VARCHAR数据的小文件来说,这可能是一个不错的选择.字段未优化.