【发布时间】:2010-09-14 11:51:17
【问题描述】:
我在本地网络的 linux 服务器上运行 MySQL 5。为我的桌面运行 windows XP。看过MySQL GUI Tools,但我认为它们没有帮助。我无法在远程服务器上安装 apache 并使用 PHPmyAdmin 之类的东西。
【问题讨论】:
我在本地网络的 linux 服务器上运行 MySQL 5。为我的桌面运行 windows XP。看过MySQL GUI Tools,但我认为它们没有帮助。我无法在远程服务器上安装 apache 并使用 PHPmyAdmin 之类的东西。
【问题讨论】:
Toad 应用程序确实可以创造奇迹并且是免费软件。如果您有正确的 CSV 文件,它将为您创建表格并导入所有数据。
【讨论】:
Toad for MySQL 会很好地做到这一点,对导入有相当大的控制(例如选择性匹配列),而且最持久的是它是免费的。
我也使用过 SQLYog,但您必须拥有商业版,因为社区版不提供从文件导入。
Toad 是一款出色的软件,它有适用于所有主要数据库的版本,我过去也使用过 MSSQL 和 Oracle 版本。推荐。
【讨论】:
我只是使用LOAD DATA INFILE 进行了此操作,但值得注意的是,它并不像 Gareth 的示例那么简单(Kai 非常正确,您应该查看the documentation)。为了正确导入逗号分隔值,我使用了这个:
LOAD DATA LOCAL INFILE 'mycsvfile.csv' INTO TABLE mytable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
这假定 CSV 文件的每个字段都带有引号,并且顶部有一个标题行。 (您可能不需要LINES TERMINATED BY,因为它应该是默认值,但最好是明确的。)
【讨论】:
从 MySQL shell 或查询浏览器...
如果 CSV 没有标题:
LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable;
如果 CSV 有标题:
LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable IGNORE 1 LINES;
【讨论】:
如果您不介意使用一些商业软件,那么 Navicat (http://mysql.navicat.com/) 是一款非常有用的软件,适用于 Mac、Windows、Linux。我经常使用它来将大型 CSV 文件导入数据库。
【讨论】:
看看@load data infile:http://dev.mysql.com/doc/refman/5.0/en/load-data.html
【讨论】:
我会使用电子表格编辑器来创建一组 SQL 语句。在开头添加一个新列并添加 insert into tablename values(' 。添加其他列以使用'',' 之类的代码分隔数据。以''); 结束。使用自动填充功能将这些单元格向下拖动到所需的行数。将整个工作表复制到纯文本编辑器并删除多余的选项卡,留下一组简单的插入语句。
这是一个可用于任何数据库系统和任何电子表格文件格式的解决方案。此外,还可以轻松地从其他数据库等来源填充电子表格,或从网页复制和粘贴。它也非常快,可以在任何台式机上使用,使用 Excel、OpenOffice 或 Google Docs。
请参阅Excel 和OpenOffice 版本中的示例电子表格。
【讨论】:
我在我的 Windows 系统上使用 SQLyog,该系统有一个免费的社区版,并且可以选择从 CSV 导入。
我自己从来没有使用过这个选项,所以我无法告诉你它有多好。然而,SQLyog 对于我用过的所有其他事情来说都很棒。
【讨论】:
编写一个简单的 Python 脚本来解析 CSV 并将其插入到表中。
查看 csv 和 mysqldb 模块。
【讨论】: