【复习】 bash shell 运行mysql oracle sql 语句

转自:http://liuyu.blog.51cto.com/183345/278036

今天项目中需要写一个从oracle到oracle同步数据的工具,准备用shell写一下。主要是项目上线时跑跑。用shell写便于在更新脚本中调用。

How do I call Oracle or MySQL sql statements in UNIX / Linux shell scripts?

MySQL: Use SQL Directly In Shell Scripts

#!/bin/sh
user="dbuser"
pass="dbpassword"
db="dbnme"
mysql -u "$user" -p"$pass" "$db" <<EOF
  sql-statement-1;
  sql-statement-2;
EOF

Using Shell Variables In SQL

#!/bin/sh
user="dbuser"
pass="dbpassword"
db="dbnme"
sql="select * from tal_name"
mysql -u "$user" -p"$pass"  <<EOF
  use $db;
  $sql;
EOF

Oracle: Use SQL Directly In Shell Scripts

#!/bin/sh
user="system"
pass="manager"
sqlplus -S $user/$pass <<EOF
  sql-statement-1;
  sql-statement-2;
 exit;
EOF

Using Shell Variables In SQL

#!/bin/sh
user="system"
pass="manager"
var="$1"
sqlplus -S $user/$pass <<EOF
 SELECT * FROM tableName WHERE username=$var;
 exit;
EOF

You can call sql statements from .sql file itself as follows:

#!/bin/ksh
sqlplus -S system/manager @my_sql_script.sql
### 回答1: shell脚本可以通过调用mysql命令来执行SQL语句。例如,可以使用以下命令执行SQL语句mysql -h主机名 -u用户名 -p密码 数据库名 -e "SQL语句" 其,主机名是数据库所在的主机名,用户名和密码是数据库的登录凭据,数据库名是要执行SQL语句的数据库名称,SQL语句是要执行SQL语句。 例如,以下是一个简单的shell脚本,用于执行SQL语句并将结果输出到文件: #!/bin/bash mysql -hlocalhost -uroot -p123456 testdb -e "SELECT * FROM users" > output.txt 该脚本将连接到名为testdb的数据库,并执行SELECT * FROM users语句,将结果输出到output.txt文件。 ### 回答2: Shell脚本是一种用于Unix和Linux系统的脚本语言,可以用于管理文件系统、执行命令等。在Shell脚本,我们可以使用各种命令和工具来完成一些常见的任务,其SQL是一个常见的用途之一。 执行SQL语句需要一个数据库管理系统(DBMS),比如MySQLOracle等。一般来说,我们需要首先在Shell脚本安装适合的DBMS并建立连接。连接数据库后,我们可以使用Shell脚本执行SQL语句并获取返回值。 我们可以使用以下命令在Shell脚本执行SQL: 1. mysql命令 这是一个常见的用于管理MySQL数据库的命令,可以直接在Shell执行SQL语句。我们可以使用以下命令来运行我们的SQL语句mysql -u user -p password -h hostname -P port -D dbname -e "SQL statement" 其,-u指定用户名,-p指定密码,-h指定主机名,-P指定端口号,-D指定数据库名,-e指定要执行SQL语句。 2. psql命令 这是一个用于管理PostgreSQL数据库的命令,也可以在Shell执行SQL。类似于mysql命令,我们可以使用以下命令来运行我们的SQL语句: psql -h hostname -p port -U username -d dbname -c "SQL statement" 其,-h指定主机名,-p指定端口号,-U指定用户名,-d指定数据库名,-c指定要执行SQL语句。 有些时候,我们需要在Shell脚本执行多条SQL语句或者使用循环来动态执行SQL,这就需要对Shell脚本的编程能力有一定的要求了。但无论在哪种情况下,我们都需要了解DBMS和Shell脚本的基本语法才能编写出安全高效的代码。 ### 回答3: Shell脚本是一种在Unix或Linux操作系统使用的编程语言,其脚本文件使用Shell解释器来执行执行SQL语句通常是在数据库操作数据,与shell脚本紧密相关,尤其是在自动化任务方面。 在Shell脚本执行SQL语句的过程: 1. 指定数据库连接信息:需要在Shell脚本指定数据库连接信息,包括数据库服务器IP地址、数据库端口、登录名和密码等。可以将这些信息定义为变量,然后在脚本使用这些变量,方便修改和维护。 2. 编写SQL语句:在Shell脚本编写需要在数据库执行SQL语句。这些SQL语句可以是查询、插入、更新或删除等操作。注意在写SQL语句时候要通过变量的方式传值,防止SQL注入。 3. 执行SQL语句:通过shell执行数据库客户端程序例如 mysql,postgresqloracle等,同时传递执行SQL语句。 4. 处理结果:执行SQL语句后,可以获取数据库执行结果,包括数据库操作受影响的行数、查询结果等。可以通过Shell脚本来处理这些结果,比如进行统计、分析、输出等操作。 在实际应用Shell脚本执行SQL通常被用于批量处理数据、自动化任务或数据备份等场景,如某个时期对数据进行统计,定时清洗过期数据或导出数据报表。通过Shell脚本执行SQL语句可以极大提高效率,降低手动操作过程出错可能,保证数据一致性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值