在 Linux 操作系统中,编写 sh 文件来执行 SQL 语句是一种自动化任务和管理数据库的有用 。以下是编写 sh 文件以执行 SQL 的步骤:
创建 sh 文件
使用文本编辑器(如 vi 或 nano)创建一个新的 sh 文件。将以下内容复制到文件中:
sh
!/bin/bash
您的 SQL 语句
SQL_STATEMENT="SELECT * FROM table_name;"
连接数据库
DB_HOST="localhost"
DB_USER="root"
DB_PASS="password"
DB_NAME="database_name"
执行 SQL 语句
mysql -h $DB_HOST -u $DB_USER -p$DB_PASS -D $DB_NAME -e "$SQL_STATEMENT"
替换变量值
替换 SQL_STATEMENT 、 DB_HOST 、 DB_USER 、 DB_PASS 和 DB_NAME 变量的值以匹配您的具体数据库设置。
赋予文件可执行权限
保存 sh 文件后,键入以下命令为其赋予可执行权限:
sh
chmod +x filename.sh
执行 sh 文件
要在终端中执行 sh 文件,键入以下命令:
sh
./filename.sh
将 SQL 结果重定向到文件
要将 SQL 结果重定向到文件中,请使用以下语法:
sh
mysql -h $DB_HOST -u $DB_USER -p$DB_PASS -D $DB_NAME -e "$SQL_STATEMENT" > output.csv
示例
以下示例演示了如何使用 sh 文件执行 SQL 语句并将其结果写入文件:
sh
!/bin/bash
SQL_STATEMENT="SELECT * FROM customers;"
DB_HOST="localhost"
DB_USER="root"
DB_PASS="password"
DB_NAME="company"
mysql -h $DB_HOST -u $DB_USER -p$DB_PASS -D $DB_NAME -e "$SQL_STATEMENT" > customer_data.csv
执行此文件将从 customers 表中选择所有行并将其导出到 customer_data.csv 文件中。