在一个网页/手机游戏数据库中,每张表有多个字段,每次合并游戏服时表中多个字段的表记录要修改,而且数量成百上千。修改的记录是在Windows的Excel中提前修改好的,创建一个shell脚本或者多个脚本,把Excel中的数据导入到Linux中,并使用脚本修改数据库中的表记录,尽量详细的列出步骤。并写出相关shell脚本
时间: 2024-03-03 20:47:22 浏览: 112
这个任务需要分为两个步骤来完成:
1. 将Excel中的数据导入到Linux中。
2. 使用脚本修改数据库中的表记录。
下面是具体的步骤和相应的shell脚本:
步骤一:将Excel中的数据导入到Linux中
1. 在Excel中将数据保存为CSV文件。
2. 将CSV文件转换为Linux系统支持的UTF-8编码格式。
```shell
iconv -f GBK -t UTF-8 input.csv > output.csv
```
3. 将转换后的CSV文件上传到Linux服务器。
步骤二:使用脚本修改数据库中的表记录
1. 编写一个脚本,用于连接数据库,并执行SQL语句。
```shell
#!/bin/bash
# 数据库信息
db_host="localhost"
db_user="root"
db_password="password"
db_database="database_name"
# 连接数据库并执行SQL语句
mysql -h $db_host -u $db_user -p$db_password $db_database <<EOF
UPDATE table_name SET column1=value1, column2=value2 WHERE condition;
EOF
```
2. 在脚本中引入第一步中上传的CSV文件,并使用循环读取其中的每一行数据,生成对应的SQL语句。
```shell
#!/bin/bash
# 数据库信息
db_host="localhost"
db_user="root"
db_password="password"
db_database="database_name"
# 引入CSV文件
csv_file="data.csv"
# 循环读取CSV文件的每一行数据
while IFS=',' read -r column1 column2 column3; do
# 生成SQL语句
sql="UPDATE table_name SET column1='$column1', column2='$column2' WHERE column3='$column3';"
# 连接数据库并执行SQL语句
mysql -h $db_host -u $db_user -p$db_password $db_database -e "$sql"
done < "$csv_file"
```
以上就是将Excel中的数据导入到Linux中,并使用脚本修改数据库中的表记录的详细步骤和相应的shell脚本了。
阅读全文