mysql - 从命令行 Mysql 创建表时出现问题

标签 mysql csv csh load-data-infile

当我在终端中输入代码时,它会创建数据库,但不会创建表。 当我输入 use“locations”然后输入“Show TABLES”时,它告诉我没有创建任何表。 此代码应创建一个数据库和表,然后将 csv 文件导入到数据库“locations”

最佳答案

这是基于@Honeyboy 评论的完整答案。

除了需要使用位置之外,还有一些其他问题需要修复:

  • Shell 引用并不完全正确。一方面,您现有的代码不考虑换行符 - 它需要行继续转义才能按编写的方式运行。
  • 表的名称在 CREATE TABLE 语句和 LOAD DATA 语句之间发生了变化
  • LOAD DATA 语句没有忽略制表符分隔文件的标题行。
mysql -u root --password=password -e \
'CREATE DATABASE locations; \
USE locations; \
CREATE TABLE location_T (number1 INT NOT NULL, \
number2 INT NOT NULL, \
number3 INT NOT NULL, \
names VARCHAR(100) NOT NULL,PRIMARY KEY (number1)); \
LOAD DATA LOCAL INFILE "locations.csv" \
INTO TABLE location_T FIELDS TERMINATED by "\t" \
ENCLOSED BY "\"" LINES TERMINATED BY "\n" IGNORE 1 LINES \
(number1,number2,number3,names)'

关于mysql - 从命令行 Mysql 创建表时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58738113/

相关文章:

mysql - Coldfusion sql 错误仅发生在应用程序的一个实例上

linux - 在 TCSH/CSH 中设置 vi 风格的行编辑界面类似于 bash 中的 "set -o vi"

mysql - 使用存储过程游标存储数据的问题

MySQL语法错误,但一切看起来都是正确的

python - 在Cloudera VM中阅读教程CSV文件时的异常(exception)

R - 导入一个奇怪的 CSV 文件

csh - 如何根据 sed 结果设置 env(对于 gnome-keyring-daemon)

linux - csh中的switch语句

php - 修复 PHP PEAR 错误

java - CSV , JAVA 和 HSQLDB