将 CSV 文件转换为 Mysql (.sql) 数据库文件?

Posted

技术标签:

【中文标题】将 CSV 文件转换为 Mysql (.sql) 数据库文件?【英文标题】:Convert CSV file To Mysql (.sql) database file? 【发布时间】:2013-02-03 18:35:48 【问题描述】:

我正在使用: WampServer 2.2, 阿帕奇版本:2.2.21, php版本:5.3.8, mysql 版本:5.5.16, PhpMyadmin 版本:3.4.5...

我遇到导入 CSV 文件的问题-(大小 13MB*),错误文件太大... phpMyadmin 只允许 2MB 文件大小...

所以用 1.83MB 的文件大小分隔文件......然后它也不起作用???

还告诉我,如何通过 CSV 文件自动创建表格...?

【问题讨论】:

当您尝试使用 1.83 mb 文件时遇到什么错误? 【参考方案1】:

如何通过CSV文件自动创建表...?

我写了一个 csv2mysql 命令。它扫描整个 CSV 文件以确定适当的列类型并输出 CREATE TABLE 语句和(可选)数据的 INSERT INTO 语句。

它在 https://github.com/artfulrobot/csv2mysql (您可以只下载bin/csv2mysql 可执行文件(Linux),或者如果您下载源代码并运行composer install,则可以运行主csv2mysql.php 文件)

【讨论】:

【参考方案2】:

我建议您查看Data Transformer(免责声明 - 我是它的开发者)。它可以将 CSV/JSON/XML 转换为 SQL。生成的 SQL 包含每行的“插入”语句和“创建表”语句。

该应用可离线运行,您的数据永远不会离开您的计算机。

您可以从Mac App Store 或Microsoft Store 获取。

【讨论】:

【参考方案3】:

您可以使用sqlizer.io 轻松完成此操作。截图如下:

只需为文件类型选择“逗号分隔值”并上传您的文件。它将分析数据并生成包含适当 CREATE TABLE 语句和大量 INSERT 语句的 SQL 脚本。

(免责声明:我帮助运行 SQLizer)

【讨论】:

不透露您的隶属关系,这被视为垃圾邮件。 d4nt.com/… @TiagoMartinsPeres 好的,我添加了免责声明。这是我兼职运行的免费增值工具,我只是想提供帮助。 可以理解。我进行了快速搜索,包括 sqlizer.io 在内的大多数帖子都来自您和/或其他团队成员,没有人透露隶属关系。【参考方案4】:

使用https://csvtosql.com 在线CSV 到SQL 转换工具。粘贴 CSV 行并将它们转换为 SQL 查询。然后您可以将它们保存在 SQL 文件中或直接在 phpmyadmin 上的 SQL 控制台上运行它们

screenshot

【讨论】:

这个答案可能存在安全风险,具体取决于要转换的数据!【参考方案5】:

我经常使用的最佳选项之一是 rebasedata,它们的免费计划允许大约 200 MB(CSV 到 MySQL,我测试过)。

点击此处https://www.rebasedata.com/convert-csv-to-mysql-online

【讨论】:

【参考方案6】:

LOAD DATA INFILE 'your.csv' INTO TABLE android_dev FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

在您的数据库文件夹中包含 csv 文件,即<root>\mysql\data\DATABASE_NAME

【讨论】:

【参考方案7】:

转到 ..\xampp\php\php.ini

并更改以下内容...

    php_value upload_max_filesize xxxxM //file size
    php_value post_max_size xxxxM
    php_value max_execution_time xxxx
    php_value max_input_time xxxx

把 xxxx 你的期望值 1M = 1mb

更改后您最需要重新启动服务器...

【讨论】:

【参考方案8】:

为什么不尝试使用 MySQL 控制台导入文件? 我想,这样你不会遇到任何问题。您不需要将文件拆分成块。只需注意语法即可。

load data infile 'c:/filename.csv' into table tablename fields terminated by ',';

有关语法的详细信息,请参阅官方文档上的Load Data Infile。 例如,参考this 和this。

希望对你有帮助!!!

【讨论】:

如果我的建议对您有所帮助,您可以点赞或接受答案吗?

以上是关于将 CSV 文件转换为 Mysql (.sql) 数据库文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将bak文件转换为sql文件(支持sql bak文件到mysql)并执行该文件以自动恢复

CSV 到 MySQL 的转换和导入

如何将sql文件转换为csv文件?

PHP 将MYSQl结果转换为csv文件格式

将 SQL 插入脚本转换为 CSV 格式

如何在 Angular 中将 csv 或 excel 文件转换为 sql 输入数组?