我正在尝试使用以下脚本将数据加载到 mysql 数据库中
#!/bin/bash
DB_USER='my_user';
DB_PASSWD='passwd';
DB_NAME='db_name';
TABLE='rass';
INPUT_FILE='/full/path/to/re.txt';
SQL="USE $DB_NAME; LOAD LOCAL DATA INFILE '$INPUT_FILE' REPLACE INTO TABLE `$TABLE` LINES TERMINATED BY '|' CHARACTER SET utf8;"
mysql --user=$DB_USER --password=$DB_PASSWD --default_character_set utf8 $DB_NAME
当我运行该命令时,它显示 mysql 手册,但文件中的任何数据均未插入。关于如何修改代码以插入数据,您有什么想法吗?
答案1
答案2
您还可以使用mysql -e
和获取 Bash 变量并放入 MySQL 查询;
#!/bin/bash
baseName="base1"
tableName="table1"
animal="dog"
par1="1"
par2="2"
myslqquery="USE $baseName;
INSERT INTO $tableName VALUES(NULL,\"$animal\",$par1,$par2);
SELECT * from $tableName;"
mysql -uroot -e "$myslqquery"