shell读取mysql每一行
时间: 2023-07-09 17:04:05 浏览: 82
我们可以使用MySQL的命令行工具(mysql)与shell脚本结合来实现读取MySQL每一行的操作。具体步骤如下:
1. 使用MySQL的命令行工具,连接到数据库并执行查询语句。例如,我们要查询“users”表中所有的行:
```
mysql -h localhost -u username -p
Enter password:
mysql> use database_name;
mysql> SELECT * FROM users;
```
2. 将查询结果输出到一个文件中,可以使用MySQL的“-e”选项和Linux的“>”符号。例如:
```
mysql -h localhost -u username -p -e "use database_name;SELECT * FROM users;" > output.txt
```
3. 在shell脚本中逐行读取输出文件。可以使用“while read line”结构,例如:
```
while read line
do
echo $line
done < output.txt
```
4. 处理每一行的数据。在“while read line”结构中,$line变量保存了当前行的数据,我们可以使用“awk”或“cut”等工具来处理数据,例如:
```
while read line
do
name=$(echo $line | cut -d' ' -f1)
age=$(echo $line | cut -d' ' -f2)
echo "$name is $age years old"
done < output.txt
```
这样,我们就可以通过shell脚本逐行读取MySQL查询结果并进行处理。
阅读全文