當前位置:首頁 » 編程語言 » sql寫shell
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql寫shell

發布時間: 2023-01-31 22:31:52

『壹』 如何把sql的運行結果賦值給SHELL腳本中的變數。

給你一個思路. 把sql語句寫在一個文件里, 比如叫sqlfile.sql
然後mysql -uroot -p'密碼' < sqlfile.sql
這樣可以把sql語句執行出來,然後過濾出你要的內容,再做判斷
具體實施看你具體情況

『貳』 如何通過sql注入獲得shell

獲得webshell方法如下:
1.尋找形如「.asp?id=xx」類的帶參數的URL。
2.去掉「id=xx」查看頁面顯示是否正常,如果不正常,說明參數在數據傳遞中是直接起作用的。
3.清空瀏覽器地址欄,輸入「javascript:alert(document.cookie="id="+escape("xx"));」,按Enter鍵後彈出一個對話框,內容是「id=xx」,然後用原來的URL刷新頁面,如果顯示正常,說明應用是用Request("id")這種方式獲取數據的。
4.重復上面的步驟,將常規SQL注入中的判斷語句帶入上面的URL:「javascript:alert(document.cookie="id="+escape("xx and 1=1"));」
「javascript:alert(document.cookie="id="+escape("xx and 1=2"));」。

『叄』 在shell腳本執行sql語句為什麼會報錯

sql語句要在資料庫中執行才可以,所以要先連接資料庫。
比如如果是oracle那麼首先要sqlplus連接,但是因為sqlplus本身是一個交互的內容,所以要改為非交互的模式,這個需要一些參數。具體什麼參數我忘了,不過確實需要參數才行。
而且shell中的sql腳本也不是直接寫就可以。要寫成塊的狀態,或者調用腳本的狀態才可以的。
大概就是這些,如果sql語句本身沒有錯誤,那麼應該就沒什麼問題了。

『肆』 在mysql中導入名為update.sql腳本,用shell實現,怎麼寫啊

建立一個腳本:

1、
update.sql中如果指定某個庫更新,需要先調用use db;,這個寫在Update.sql裡面。

#!/bin/bash
#Purpose import DB
Mysql_Pwd="yoursPwd"

mysql/to/paht/mysql -u root -p$Mysql_Pwd -h localhost < path/to/update.sql

或者
2、

#!/bin/bash
#Purpose import DB
Mysql_Pwd="yoursPwd"

cat > /tmp/import<<EOF
use DB;
source path/to/update.sql
flush privileges;
EOF
mysql/to/paht/mysql -u root -p$Mysql_Pwd -h localhost < /tmp/import
rm -f /tmp/import

『伍』 shell腳本sql結果集如何一條一條寫進文件中

轉載:http://joewalker.iteye.com/blog/408879
命令行下具體用法如下:
mysqlmp -u用戶名 -p密碼 -d 資料庫名 表名 > 腳本名;
導出整個資料庫結構和數據
mysqlmp -h localhost -uroot -p123456 database > mp.sql
導出單個數據表結構和數據
mysqlmp -h localhost -uroot -p123456 database table > mp.sql
導出整個資料庫結構(不包含數據)
mysqlmp -h localhost -uroot -p123456 -d database > mp.sql
導出單個數據表結構(不包含數據)
mysqlmp -h localhost -uroot -p123456 -d database table > mp.sql

http://www.cnblogs.com/wangkongming/p/3648476.html

more import.sh
#!/bin/bash
time=$(date +%Y%m%d-%H%M%S)
filename="result-"${time}.log
echo $filename
echo $(date)" begin....">$filename
mysql -A -h localhost -u root -p123 test<$1 >>$filename 2>&1

echo $(date)" success! ">>$filename

第一版:

#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"

mysql -u $USER $DATABASE --html --default-character-set=utf8 < one.sql > /tmp/check.html
mysql -u $USER $DATABASE --html --default-character-set=utf8 < two.sql >> /tmp/check.html
第二版:

#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"

#:>/tmp/check.html
for i in one.sql two.sql three.sql; do
mysql -u $USER $DATABASE --html --default-character-set=utf8 < $i >> /tmp/check.html
done
第三版:

#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"

for i in `ls *.sql`; do
mysql -u $USER $DATABASE --html --default-character-set=utf8 < $i >> /tmp/check.html
done
http://bbs.chinaunix.net/thread-4166340-1-1.html

用途:將遠程伺服器的資料庫拷到本地。
代碼代碼如下:
mysqlmp -h '114.212.111.123' -uROSE -pxxxooo --opt --compress ITSM --skip-lock-tables | mysql -h localhost -uroot -proot ITSMC

http://www.shangxueba.com/jingyan/1942037.html

shell腳本中怎樣同時執行多個.sql文件,並把結果寫入文件中(轉)的更多相關文章
Spring 中jdbcTemplate 實現執行多條sql語句
說一下Spring框架中使用jdbcTemplate實現多條sql語句的執行: 很多情況下我們需要處理一件事情的時候需要對多個表執行多個sql語句,比如淘寶下單時,我們確認付款時要對自己銀行賬戶的表裡 ...

如何在Oracle中一次執行多條sql語句 (.net C#)
關鍵是不能換行,要加上begin ...sql... end; 每個SQL用:隔開,end後面必須加: 以下是拷貝於:http://www.cnblogs.com/teamleader/arc ...

在論壇中出現的比較難的sql問題:16(取一個欄位中的數字)
原文:在論壇中出現的比較難的sql問題:16(取一個欄位中的數字) 所以,覺得有必要記錄下來,這樣以後再次碰到這類問題,也能從中獲取解答的思路. 問題:取一個欄位中的數字http://bbs.csdn ...

在論壇中出現的比較難的sql問題:10(刪除多表中的同一個外鍵)
原文:在論壇中出現的比較難的sql問題:10(刪除多表中的同一個外鍵) 最近,在論壇中,遇到了不少比較難的sql問題,雖然自己都能解決,但發現過幾天後,就記不起來了,也忘記解決的方法了. 所以,覺得有 ...

shell基礎概念, if+命令, shell中引用python, shell腳本的幾種執行方式
說明: 虛擬機中shell_test目錄用來練習shell, 其中有個test.log文件用來存放日誌 #!/usr/bin/bash # shell文件開頭, 用來指定該文件使用哪個解釋器 ...

Shell腳本的三種執行方式
Shell腳本的執行方式可以有以下幾種: 方式一: ./script.sh # 利用小數點來執行 方式二: sh script.sh 或 bash script.sh # 利用bash(sh)來執 ...

[轉]shell腳本每行的執行順序是怎樣
原文:https://blog.csdn.net/weixin_42609121/article/details/83028000 ---------------------------------- ...

shell 腳本控制命令的執行順序
&&,||,(),{},& 五個符號的運用shell腳本執行命令的時候,有時候會依賴於前一個命令是否執行成功.而&&和||就是用來判斷前一個命令執行效果的. 也 ...

(學)如何在Oracle中一次執行多條sql語句
隊長同學原來的地址:https://www.cnblogs.com/teamleader/archive/2007/05/31/765943.html隊長同學原來的描述: 有時我們需要一次性執行多條s ...

隨機推薦
Appium 服務命令行參數
Appium 可以直接通過命令行啟動,同樣支持命令行參數配置 參考: http://appium.io/slate/cn/master/ 使用方法 例如: appium --shell 伺服器標志 ...

Android GridView增加HeaderView和FooterView的實現
Android GridView增加HeaderView和FooterView的實現 做的項目中遇到一個問題,需要實現一個頁面 頁面的上面是一個自定義的View和GridView,當向下滾動屏幕的時候 ...

windows下安裝ruby和 rails的痛苦經歷
准備安裝ruby on rails,在網上搜了下,步驟都類似,但實際安裝過程中卻碰到很多問題.下面詳細說下: 說明下,文章是按照我嘗試的過程描述的.但最終是靠 運行 railsinstaller一鍵式 ...

nginx記錄響應與POST請求日誌
生產環境中的某些api出現故障,但是問題無法重現,但是又很想解決掉問題以及我們新項目上線,需要跟蹤請求與響應的信息,可以預先找到一些bug,減少大面積的損失. 安裝nginx與ngx_lua 響應日誌 ...

基於visual Studio2013解決演算法導論之030二叉查找樹
 題目 二叉查找樹 解決代碼及點評 // 12二叉查找樹.cpp : 定義控制台應用程序的入口點. // // 3 - 10二叉搜索樹查找.cpp : 定義控制台應用程序的入口點. // #in ...

UVA1452|LA4727-----Jump------經典的約瑟夫公式的變形(DP)
本文出自:http://blog.csdn.net/dr5459 題目地址: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&a ...

Android--開發過程中使用到的長度單位
px:表示屏幕實際的像素. in:表示英寸. mm:毫米. pt:表示一個點,是屏幕的物理尺寸. dp:(與密度無關的像素)邏輯長度單位,在160dpi屏幕上,1dp = 1px = 1/160英寸 ...

摘抄python __init__
注意1.__init__並不相當於C#中的構造函數,執行它的時候,實例已構造出來了. 1 2 3 4 5 class A(object): def __init__(self,name): ...

C#基礎 大盤點
類型轉換 tryParse 字元和整形轉換 轉譯符: /' 單引號 /" 雙引號 // 反斜杠 /0 空字元 /a 感嘆號( ...

WCF技術剖析之十一:非同步操作在WCF中的應用(上篇)
原文:WCF技術剖析之十一:非同步操作在WCF中的應用(上篇) 按照操作執行所需的資源類型,我們可以將操作分為CPU綁定型(CPU Bound)操作和I/O綁定型(I/O Bound)操作.對於前者,操 ...

『陸』 達夢資料庫怎麼寫shell腳本,怎麼通過shell腳本調用sql腳本

通過shell腳本調用sql腳本:
1、shell腳本調用sql腳本
#首先編輯sql文件
oracle@SZDB:~> more dept.sql
connect scott/tiger
spool /tmp/dept.lst
set linesize 100 pagesize 80
select * from dept;
spool off;
exit;

#編輯shell腳本文件,在shell腳本內調用sql腳本
oracle@SZDB:~> more get_dept.sh
#!/bin/bash

# set environment variable

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export ORACLE_SID=CNMMBO
sqlplus -S /nolog @/users/oracle/dept.sql #注意此處執行sql腳本的方法 -S 表示以靜默方式執行
exit

#授予腳本執行許可權
oracle@SZDB:~> chmod 775 get_dept.sh

-->執行shell腳本
oracle@SZDB:~> ./get_dept.sh

DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

2、shell腳本調用rman腳本
#首先編輯RMAN腳本
oracle@SZDB:~> more rman.rcv
RUN {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/users/oracle/bak/%d_%F';
ALLOCATE CHANNEL CH1 TYPE DISK MAXPIECESIZE=4G;
ALLOCATE CHANNEL CH2 TYPE DISK MAXPIECESIZE=4G;
SET LIMIT CHANNEL CH1 READRATE=10240;
SET LIMIT CHANNEL CH1 KBYTES=4096000;
SET LIMIT CHANNEL CH2 READRATE=10240;
SET LIMIT CHANNEL CH2 KBYTES=4096000;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
BACKUP
DATABASE FORMAT '/users/oracle/bak/%d_FULL__%U';
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP ARCHIVELOG ALL FORMAT '/users/oracle/bak/%d_LF_%U' DELETE INPUT;
DELETE NOPROMPT OBSOLETE;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}

#編輯shell腳本文件,在shell腳本內調用rman腳本
oracle@SZDB:~> more rman_bak.sh
#!/bin/bash

# set environment variable

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export ORACLE_SID=CNMMBO
$ORACLE_HOME/bin/rman target / cmdfile=/users/oracle/rman.rcv log=/users/oracle/bak/rman.log
exit

#授予腳本執行許可權
oracle@SZDB:~> chmod 775 rman_bak.sh
#執行shell腳本