如何使用 MySQL 使用 shell 脚本将数据插入表中?最大记录数可能会根据参数发生变化。我应该在嵌入 MySQL 的 shell 脚本中使用 for
循环吗?
我在下面附上了我的尝试,它没有插入记录。 有人可以查看并纠正我吗?
#!/bin/bash
mysql -u root -p"" << EOF
use school;
EOF
echo -n "Enter numebr of Students to enroll"
read i
echo -n "Enter marks"
read marks
for (( i=1; i‹= 10; i++ ))
do
for((sub=1; sub‹= 8; sub++ ))
do
echo "Enter subject name"
read subject
if [$marks=y | y<=100 | y>=0] then
<< EOF
insert into students('id$i',$subject,$marks)
EOF
echo Record Inserted
最佳答案
您可以在 shell 脚本中使用 mysql
命令来执行查询,如下所示:
$./script.sh 10
limit=$1
for(i=1;i<limit;i++){
//input value for $v1
//input value for $v2
//input value for $v3
mysql --host=database_host_name --user=mysql_user --password=mysql_user_password your_db_name << EOF
insert into your_table (col1,col2,col3) values('$v1','$v2','$v3');
EOF
}
注意
不要忘记用单引号引用你的变量(对于 varchar 字段)
关于mysql - 在 shell 脚本中嵌入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23697351/