批量执行 sql 的 shell 脚本】的更多相关文章

最近有用到需要批量导入N个表的sql,一个个导入会吐老血的,写了个shell脚本,便捷导入. 通常我们导入单个sql,可以用 $mysql -uroot -p world < xxxx.sql 但我最近要导入一个文件里近百个sql,这么一个一个敲我都不敢想象.搜索发现mysql 5.6以后可以用 mysql_config_editor 这个自带命令行工具方便批量执行操作. 使用方式如下: $mysql_config_editor set --login-path=test --user=root…
脚本内容: #!/usr/bin/expect set database [lindex $argv 0] set username [lindex $argv 1] set password [lindex $argv 2] set command [lindex $argv 3] spawn psql -U $username -d $database -c "$command" -W expect "Password: " send "$passwo…
需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监控脚本 <#批量执行SQL脚本文件#> <#===========================================#> $serverInstance="WUXUEL1" $" #$userName="sa" #$pas…
PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.sql,然后再在PL/SQL中New Commond Window,然后键入:@'C:\b.sql';…
原文:批量执行SQL文件 摘要:很多时候我们在做系统升级时需要将大量的.sql文件挨个执行,十分不方便.而且考虑到执行顺序和客服的操作方便性,能不能找到一种简单的方法来批量执行这些sql文件呢? 主要内容: 准备工作 利用osql/ocmd命令批量执行sql文件 使用master..xp_cmdshell存储过程调用osql/ocmd命令 总结 一.准备工作 既然是要批量执行sql文件,首先我们建立两个sql文件:1.sql和2.sql. 1.sql的内容: )) ) 2.sql中的内容: ))…
linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-tomcat-7.0.61 serverDir=/home/undoner/java_tool/apache-tomcat-7.0.61/webapps 2.请更换工程所属配置文件名称 /WEB-INF/classes/install.properties 3.请将war包上传至本命令同级的目录,执行…
起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: 首先,需要对所需升级的sql所在目录的sql文件进行遍历.生成新的批量执行sql文件.想到是windows系统安装的mysql,首先想到使用bat进行sql文件的生成: 生成sql文件后,还需要使用bat文件连接到数据库,并使用新生成的sql文件进行升级. 想到升级的过程中还有可能字符集出现问题,因…
SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书),最后将所有的SQL语句一次性的执行完成. 首先,将要执行的所有的SQL语句,全部写入某个sql文件当中.例如f:\test.sql; 然后,通过通过sqlplus连接到数据库:如: SQL> sqlplus test/test@orcl; 再执行如下命令: SQL> @f:\test.sql;…
linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令  ========================  NAME  rename - Rename files SYNOPSIS  rename from to file...  ======================== 复制代码代码如下: #! /bin/sh  INIFILE="./dirlist.ini"  CURPATH=$(pwd) …
基本使用 $sqls="sql语句1;sql语句2;sql语句n"; 或 $sqls="insert into xx;";  $sqls.="insert into xx;"; $res=mysqli::multi_query($sqls); 如果$sqls 是dml 语句,则$res 返回布尔值: 如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result() 和 mysqli::more_re…
分类: 可以在一个shell脚本中执行另一个shell脚本(或非可执行文件,主要用于取得一些变量的值),方法是: . 文件名(包括路径) 或 变量=文件名(包括路径) . $变量   注意,圆点后面有个空格. 这样,在本shell脚本的后面部分就可以引用其他文件中声明的一些变量.   当再用这些变量去执行第3个脚本时,我不知是怎么回事,总是有些莫名其妙的错误,发现只有这个文件中不存在空行才行,哪怕只有一个注释符,都不会出错,就是不能有空行.   其实我想应该也不是这个问题,而是windows和l…
package com.file; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; public class ResolvFile { public static String readFileContent(String filepath) { //1.读取每一行记录,保存到List中 ArrayList<String> records = new ArrayList&…
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题,我们怎么办呢?好,下面我就为大家介绍一种方法:构建SQL池,分离业务逻辑层和数据访问层,让业务逻辑层从低效的数据库操作解脱,以提高系统整体性能. (一)SQL池 SQL池是SQL容器,用于存放业务逻辑层抛过来的SQL语句.SQL池主要提供以下几种方法: 1)internal string Pop()…
本篇文章介绍了,在PHP中 mysqli 增强 批量执行sql 语句的实现代码.需要的朋友参考下. mysqli 增强-批量执行sql 语句 <?php //mysqli 增强-批量执行sql 语句 //批量执行dql //使用mysqli的mysqli::multi_query() 一次性添加3个用户 $mysqli =new MySQLi("localhost","root","root","test"); if($…
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题,我们怎么办呢?好,下面我就为大家介绍一种方法:构建SQL池,分离业务逻辑层和数据访问层,让业务逻辑层从低效的数据库操作解脱,以提高系统整体性能. (一)SQL池 SQL池是SQL容器,用于存放业务逻辑层抛过来的SQL语句.SQL池主要提供以下几种方法: 1)internal string Pop()…
1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语句的集合,查询语句和增删改最好不要混合.应用示例如下: ① 操作数据库的代码: <?php class mysqliMutiTool{ private $mysqli = null; private static $host = "127.0.0.1"; private static…
conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("truncate QB_ShowCount_Asite_copy"); ps.executeBatch(); String SrcSql = "select convert(unhex(hex(convert(Community using latin1))) using utf8) as Commu…
原文:利用osql/ocmd批处理批量执行sql文件 上周在测试环境建了几十张表,保存了.sql文件,准备在正式环境重建的时候懒得一个个打开建了,做一在网上搜寻了一下,果然有简单点的方法. 利用osql/ocmd批处理批量执行sql文件 注意:在上图中我们可以看到osql 并不支持 SQL Server 2008的所有功能,如果需要使用SQL Server 2008的所有功能可以使用ocmd命令. 有了osql/ocmd命令要批量执行sql文件当然需要写一个批处理命令,例如我们执行上面sql文件…
1使用jdbc进行批量执行SQL在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. package dbex.mysql; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExce…
Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of-year day-of-week commands 意味着标椎定时任务中,最小定时周期是分钟. 但是,由于实际应用中,可能需要每5秒就要求执行某个shell脚本. 该如何实现呢? 本文中提供如下方式: 间隔调用shell命令 使用 crontab -e 命令编辑定时任务 实现每5秒定时执行脚本,cr…
在远程服务器上执行本地的shell脚本 [root@localhost zzx]# sh echoip.sh 192.168.67.131[root@localhost zzx]# ssh root@192.168.67.129 -C "/bin/bash" < echoip.shroot@192.168.67.129's password: 192.168.67.129[root@localhost zzx]#…
在最近的工作中,经常需要批量执行一些DML, DDL, PL/SQL语句或导入一些Function, Procedure.因为support的国家比较多,常常需要一个登陆到一个国家的数据库上执行完成后再登陆到另一个国家执行,很是麻烦.今天得空就写了个shell来批量处理. #Env.sh中定义一常用的变量,ORACLE_SID,$AU_USER,$AU_PWD等. . /home/oracle/shell/Env.sh AU="$AU_USER/$AU_PWD" CN="$C…
由于项目不同,使用的数据库也不一样,通常MySQL 比较方便简介,相对而言Oracle比较繁琐一点,尤其是堡垒机的连接的时候, 通过堡垒机登陆,数据库服务器,通过下面的脚本执行进入到命令行模式执行SQL脚本: sqlplus username/password@//IP:port/SID 1. sqlplus swgk/swgk@//172.22.22.44:1521/orcl 2. 进入到命令行后:>SQL 通过@批量执行脚本文件 @/root/xxx.sql…
新建文件夹all_sql,并将需要执行的sql脚本放入其中. 新建bat脚本,执行即可,ORACLE 也可改Mysql,按需:如下 ::echo off :: @echo off echo 开始执行数据库脚本... for %%i in (all_sql\*.sql) do ( echo 正在执行 %%i 请稍后... echo set names utf8;>all.sql echo source %%i>>all.sql ORACLE -u username  -p password…
1. 脚本实例 将以下脚本保存为 getftp.sh #!/bin/bash  datesign=`date -d -95day +%Y%m%d` ftp -nv 12.2.2.28 <<!FTPRUN user user01 user01  prompt bin cd TXT  lcd /app/info/getftp mget ${datesign}*.txt bye  !FTPRUN  脚本说明:  #!/bin/bash #表明该文本的内容为SHELL命令 datesign=`date…
#/bin/bash URL="http://192.168.5.100/xxx.php" check() { RESULT=$(curl -s $URL) echo $RESULT " ] ; then echo "again" check " ] ; then echo "exit" exit else echo "error" fi } https://gist.github.com/xdtianyu…
知识使我们变得玩世不恭,智慧使我们变得冷酷无情,我们思考的太多,感知太少,除了机器,我们更需要人性,除了智慧,我们需要仁慈和善良. ------出自查理卓别林的演讲 前面有提到Jmeter使用JDBC连接池进行连接数据库,执行SQL语句,但是有一个误区点是没有提到的: 示例: user表 case表: 使用Jmeter进行连接查询: 单条执行语句查询结果是没有任何问题的: 问题出在哪呢?使用JDBC Request执行两条SQL,如下: 结果: 结果看的出来,只执行了第一条,第二条并没有执行.…
executeBatch()方法:用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch(); addBatch():向批处理中加入一个更新语句. clearBatch():清空批处理中的更新语句 public void executeBatch() throws SQLException { Connection con = Toolkit. getMySqlConnection(); String sql = "xxx…
错误一: Hive的where后不能用字段的别名, 错误二: hive的groupby中不能用自己定义函数,否则报错(用嵌套select取代) 错误三: 运行:$ ./hive_game_operationstatis5.sh时,报错信息例如以下: ./hive_game_operationstatis5.sh:line 11: [: missing `]' ./hive_game_operationstatis5.sh:line 17: /tmp/statis_activitysourcest…
1.选择File > New > Command Windows(命令窗口) 2.输入 @ 符号,之后敲击回车键.从本地选择执行的 SQL脚本 等待批量命令全部执行成功,关闭页面即可 新增或更改的数据 需要加 commit;…