【发布时间】:2020-05-16 09:10:52
【问题描述】:
完全披露:我是 MySQL 的初学者。
我花了 8 多小时查看 mysql 文档、stackoverflow 响应和 youtube,试图弄清楚如何将简单的 .csv 文件导入 mysql shell 以练习 SQL 查询。我知道我可以在 MySQL 工作台中使用一个导入按钮,但这花了我 2015 年 12 英寸 mac 大约 1 小时来上传一个 33.65 mb 的文件。我在stackoverflow上读到mysql shell中的命令行提示符会快得多。
有问题的 .csv 文件位于此链接中:https://www.kaggle.com/PromptCloudHQ/toy-products-on-amazon
我在 mySQL shell 中输入了以下查询:
create database amazon;
use amazon;
CREATE TABLE toys (
uniq_id VARCHAR(1000),
product_name VARCHAR(1000),
manufacturer VARCHAR(1000),
price VARCHAR(1000),
number_available_in_stock VARCHAR (1000),
number_of_reviews INT,
number_of_answered_questions INT,
average_review_rating VARCHAR(1000),
amazon_category_and_sub_category VARCHAR(1000),
customers_who_bought_this_item_also_bought VARCHAR(1000),
description VARCHAR(1000),
product_information VARCHAR(1000),
product_description VARCHAR(1000),
items_customers_buy_after_viewing_this_item VARCHAR(1000),
customer_questions_and_answers VARCHAR(1000),
customer_reviews VARCHAR(1000),
sellers VARCHAR(1000)
);
LOAD DATA LOCAL INFILE ‘/Users/Dave/Desktop/amazonsample.csv’ INTO TABLE toys
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
IGNORE 1 LINES
(uniq_id, product_name, manufacturer, price, number_available_in_stock, number_of_reviews, number_of_answered_questions, average_review_rating, amazon_category_and_sub_category, customers_who_bought_this_item_also_bought, description, product_information, product_description, items_customers_buy_after_viewing_this_item, customer_questions_and_answers, customer_reviews, sellers)
;
ERROR 1064 (42000):您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在“/Users/Dave/Desktop/amazonsample.csv” INTO TABLE 玩具附近使用的正确语法 第 1 行的 FIELDS TERMINAT'
如果您选择回应,我真诚地要求您使用简单的语言!非常感谢
【问题讨论】:
-
如果您是程序员,您会发现文本编辑器中的“智能引号”不是一个好主意。
‘与'不是同一个字符。 -
谢谢比尔·卡尔文和 nbk!我不知道这两个字符有什么不同
-
在旁注中,由于您抱怨速度缓慢,因此使用
VARCHAR(1000)似乎非常浪费且效率低下。例如,请参阅此讨论:stackoverflow.com/questions/262238/…。一般来说,糟糕的设计,缺乏适当的索引是数据库性能不佳的主要原因。审查您的设计和使用的数据类型可能会产生巨大的影响。您甚至可以节省电费!