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

Problems creating Tables from command line Mysql

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

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

除了需要 USE locations; 之外,还有一些其他问题需要解决:

  • Shell 引用不太正确。一方面,您现有的代码不考虑换行符——它需要将行继续转义为所写的 运行。
  • table 的名称在 CREATE TABLE 语句和 LOAD DATA 语句之间发生了变化
  • LOAD DATA 语句没有忽略制表符分隔文件的 header 行。
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)'