mysql - 使用 PhpMyAdmin 将多个 CSV 文件合并到一个数据库中
问题描述
我使用 (PhpMyAdmin) 创建了一个数据库,其中包括一个表(包含 4 列),此时数据库为空。我有 5 个 CSV 文件,每个文件包含大约 20 列。我想导入指定的列(例如,来自五个 CSV 文件中的每一个的第 1、2、3 和 4 列)并将它们合并到一个数据库中,换句话说,导入第一个 csv 文件的前 4 列并重复所有文件的程序相同,最后我想要一个有 4 列和多行的数据库
我曾尝试在使用 PhpMyAdmin 时这样做,但它显示了几个错误,并且数据库仍然为空,没有更新。
任何帮助将不胜感激
解决方案
MySQL 的LOAD DATA 语法可以做到这一点..
最小的答案,因为问题信息也很少..
BNF
LOAD DATA
[LOW_PRIORITY | CONCURRENT] [LOCAL]
INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[PARTITION (partition_name [, partition_name] ...)]
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number {LINES | ROWS}]
[(col_name_or_user_var
[, col_name_or_user_var] ...)]
[SET col_name={expr | DEFAULT},
[, col_name={expr | DEFAULT}] ...]
询问
LOAD DATA LOCAL INFILE 'csv1.csv' INTO TABLE <your_table_name>
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(
col1
, col2
, col3
, col4
);
所有查询中的 col1、col2、col3、col4 都必须是您要导入的表的有效列名。您还需要重复您拥有的 foreach csv 文件的语句。
推荐阅读
- makefile - Define custom gmake function equivalent to multiple piped functions
- c - why getline() is returning just 1 instead of returning character no it reads
- c - 位移位,右移 4 位
- r - 如何为特定公司创建 Rolls (1984)Bid Ask Spread 模型?
- sql - SQL Oracle 查找最大计数
- sql - Rails 4 ActiveRecord:按属性和关联排序记录(如果存在)
- reactjs - 使用 WebAssembly 的 React 应用在 Chrome 中速度很慢,但在 Firefox 中速度很快。为什么?
- jquery - jquery - change between two html element on click
- python - 在 Python 中将变量和换行符放入打印语句中
- python - 瓶子没有路由到索引 html 文件