linux shell 执行sql

在shell下执行oracle数据库的sql

####	函数
####	说		明:执行sql语句
####	输入参数:{sql语句}{数据库tns}{数据库用户名}{数据库用户密码}
####  输出参数:sql执行结果
function exe_sql
{
sql=$1
oracle_sid=$2
user_name=$3
user_pwd=$4
error_code=`
sqlplus -S -L /nolog<<EOF
connect $user_pwd/$user_pwd@$oracle_sid
set termout off;
set echo off;
set feedback off;
set heading off;
set pagesize 0;
$sql;
commit;
quit
EOF`
echo "$error_code"
if [ -z "$error_code" ];then
	return 0
else
  return 1
fi
}

sid: 

       数据库实例标识,也就是数据库实例的名称,在控制面板-管理工具-服务,打开这个文件,你可以看到一个OracleServicexxx,其中 "xxx ",就是

你的数据库实例的名称,也就是sid. 


tns:

     数据连接字符串,代表一个数据库的连接,配置好你的数据网络连接,就会有一个这样的串。这个串可以在你的oracle安装根目录\ora92\network\admin\tnsnames.sql里面找到,你要可以在你的oracle安装目录下查找这个文件, 

orac   = 
   (DESCRIPTION   = 
       (ADDRESS_LIST   = 
           (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   cyl)(PORT   =   1521)) 
       ) 
       (CONNECT_DATA   = 
           (SERVER   =   DEDICATED) 
           (SERVICE_NAME   =   D7i) 
       ) 
   ) 
上面的 "orac ",就是你要的tns,你可以自己复制重写一个tns,把HOST指向你的数据库服务器IP, 
SERVICE_NAME   =你的数据库sid

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值