使用phpMyAdmin将CSV文件导入MySQL

Cha*_*sEF 6 mysql csv phpmyadmin

我搜索并阅读了许多关于将CSV文件导入MySQL数据库的帖子/文章,phpMyAdmin 2.8.0.1并且它们使声音如此简单,实际上并非如此.我没有做任何事情.

我有一个有2列的表,都定义为NOT NULL.主索引配置为使用两个列.我有很多CSV文件要导入,但我先从小文件开始.以下是我的CSV数据文件示例:

type    description
T   Antarctic Territory
T   Dependency
T   Independent State
T   Proto Dependency
T   Proto Independent State
Run Code Online (Sandbox Code Playgroud)

导入只有17行,但通常我会插入0行,有时我会插入1行,但格式错误.我的意思是第1列为空白,第2列包含两列的数据,顺序错误.这是我的导入尝试生成的SQL:

LOAD DATA LOCAL INFILE '/var/php_sessions/uploads/phpiptDPV' REPLACE INTO TABLE `country_types`
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'
IGNORE 1
LINES (
`type` ,
`description`
)# MySQL returned an empty result set (i.e. zero rows).
Run Code Online (Sandbox Code Playgroud)

谁能看到我哪里出错了?我花了几天时间研究和尝试不同的东西,但我已经准备好抛出phpMyAdmin了.

Bil*_*win 10

问题在于LOCAL.在这种情况下,有两个"本地"概念.您可能意味着CSV文件位于运行浏览器访问phpMyAdmin的工作站上.

但该LOAD DATA LOCAL INFILE语句正在运行phpMyAdmin的Web服务器上运行.所以它正在寻找Web服务器上的文件.当我尝试这个时,我得到phpMyAdmin的错误输出:

#7890 - Can't find file '/Users/billkarwin/t.csv'. 
Run Code Online (Sandbox Code Playgroud)

您可以尝试使用phpMyAdmin的导入功能.

  1. 选择你的桌子.
  2. 单击" 导入"选项卡.
  3. 单击" 选择文件"按钮以浏览到本地csv文件.
  4. 格式选择'CSV using LOAD DATA' .
  5. 选择其他格式特定选项.
  6. 单击Go.

在此输入图像描述


小智 5

以下步骤对我有用。

  • 将文件导入到虚拟数据库(即不选择任何数据库)。

  • 点击导入并选择要加载数据的相应 CSV 文件。

  • phpMyadmin 将创建一个数据库和一个适当的表来保存数据。

  • 点击导出并选择 SQL 格式

  • 您将下载一个 SQL 文件。

  • 该文件将具有适当的查询来将数据插入到表中。

确保更改默认表名称和列名称以匹配您的表名称和列名称。