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

sql腳本如何linux執行

發布時間: 2023-01-13 13:42:36

⑴ linux shell執行sql

1.shell中執行sql
export ORACLE_SID=ORCL
sqlplus -S /nolog @/home/oracle/test.sql #注意此處執行sql腳本的方法 -S 表示以靜默方式執行
exit
2.test.sql中要加入連接
conn scott/tiger@orcl
set time on
.......
exit;

⑵ Linux資料庫:mysql下如何執行sql腳本_第2頁

同樣,可以手動執行sql文件,具體步驟如下:
1、使用root帳戶登錄到MySQL伺服器;
2、執行source命令:
mysql>
source
c:/test.sql
注意:文件路徑中建議使用「/」,如果使用「\」,要首先進行轉義即「\\」,否則可能會出現錯誤。
另外還有一個load命令可以批量插入數據,但是這個對文件中數據格式的要求比較嚴格,否則容易出現錯誤,很少使用。
mysql
查看所有用戶的語句
輸入指令select
user();
例:(項目來源:尚學堂)struts_training_itemmgr.sql內容如下:
Sql代碼
DROP
TABLE
t_items;
DROP
TABLE
t_data_dict;
CREATE
TABLE
t_items
(
item_no
varchar(20)
not
null
key,
item_name
varchar(20)
not
null,
spec
varchar(20),
pattern
varchar(10),
category
varchar(20),
unit
char(20)
);
CREATE
TABLE
t_data_dict
(
id
varchar(5)
not
null
key,
category
varchar(20),
name
varchar(30)
);
#
t_data_dict的初始化數據
INSERT
INTO
t_data_dict(id,category,name)
values('B01','item_category','精通Spring2.X
Java
Web開發');
INSERT
INTO
t_data_dict(id,category,name)
values('B02','item_category','Java語言與面向對象程序設計');
INSERT
INTO
t_data_dict(id,category,name)
values('B03','item_category','2B鉛筆');
INSERT
INTO
t_data_dict(id,category,name)
values('B04','item_category','HOTROCK
notebook');
INSERT
INTO
t_data_dict(id,category,name)
values('C01','item_unit','本');
INSERT
INTO
t_data_dict(id,category,name)
values('C02','item_unit','支');
INSERT
INTO
t_data_dict(id,category,name)
values('C03','item_unit','箱');

⑶ linux怎麼執行sql文件命令

Linux上執行SQL命令和Windows的cmd執行SQL命令操作是一樣的
都是mysql -u root -p 輸入密碼 進入資料庫 後其他操作都是一樣的

⑷ LINUX下shell腳本如何執行 sql腳本 到DB2資料庫

1、在gedit中編寫.sh格式的文件,保存為a.sh。

⑸ sql腳本怎麼在linux執行

已Oracle為例:
1、當前用戶首先切換到Oracle用戶下,su oralce
2、登錄資料庫,sqlplus user/password
3、輸入sql腳步,注意腳步結束必須「;」,回車運行。

⑹ 如何在linux編寫sql腳本

一般以
#!/bin/sh
開頭(不是必須要寫,但一定要單獨一行),指定執行這個腳本的shell程序(也可以用#!/bin/zsh或其他),然後就是堆命令了。Linux的shell腳本支持很多功能,加上Linux高度模塊化的命令,完全可以用shell腳本寫出復雜的程序。
以上只是簡單介紹如何開始寫shell腳本,如果要寫復雜的腳本,還需要深入學習相關知識(如if——fi、case——esac等結構)。
當然,還需要給腳本加上可執行許可權(chmod +x ./file.sh),否則可以用
sh ./file.sh
方式執行腳本(這里的sh是執行腳本所需shell,命令也可以是zsh ./file.sh或其他)。

⑺ linux 怎麼執行sql

要看你有沒有設資料庫bin目錄的環境變數 如果設置了就直接可以用,如果沒設置你就:
1.切換工作目錄到mysql(或其他資料庫產品)下,用root用戶執行 sudo bin/mysqld_safe --user root &(這個符號表示從後台啟動)
2.然後再切換到bin目錄下工作 執行./mysql -u 用戶名 -p
3.終端會提示你輸入密碼

⑻ gbase8a如何在linux系統執行sql文件

通過gccli命令行工具客戶端,執行gccli -u用戶名 -p密碼 -Ddatabasename <sql.sql 的方式執行。

⑼ 怎麼在linux下執行sql文件

要看你有沒有設資料庫bin目錄的環境變數如果設置了就直接可以用,如果沒設置你就:
1.切換工作目錄到mysql(或其他資料庫產品)下,用root用戶執行 sudo bin/mysqld_safe --user root &(這個符號表示從後台啟動)
2.然後再切換到bin目錄下工作 執行./mysql -u 用戶名 -p
3.終端會提示你輸入密碼

⑽ linux系統下怎麼在終端運行sql語句

主要有以下幾種方法:
1、將SQL語句直接嵌入到shell腳本文件中
代碼如下:

--演示環境
[root@SZDB ~]# more /etc/issue
CentOS release 5.9 (Final)
Kernel \r on an \m
root@localhost[(none)]> show variables like 'version';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| version | 5.6.12-log |
+---------------+------------+

[root@SZDB ~]# more shell_call_sql1.sh
#!/bin/bash
# Define log
TIMESTAMP=`date +%Y%m%d%H%M%S`
LOG=call_sql_${TIMESTAMP}.log
echo "Start execute sql statement at `date`." >>${LOG}

# execute sql stat
mysql -uroot -p123456 -e "
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
quit"

echo -e "\n">>${LOG}
echo "below is output result.">>${LOG}
cat /tmp/temp.log>>${LOG}
echo "script executed successful.">>${LOG}
exit;

[root@SZDB ~]# ./shell_call_sql1.sh
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.

2、命令行調用單獨的SQL文件

代碼如下:

[root@SZDB ~]# more temp.sql
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
[root@SZDB ~]# mysql -uroot -p123456 -e "source /root/temp.sql"
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.

3、使用管道符調用SQL文件
代碼如下:

[root@SZDB ~]# mysql -uroot -p123456 </root/temp.sql
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
#使用管道符調用SQL文件以及輸出日誌
[root@SZDB ~]# mysql -uroot -p123456 </root/temp.sql >/tmp/temp.log
[root@SZDB ~]# more /tmp/temp.log
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.

4、shell腳本中MySQL提示符下調用SQL

代碼如下:

[root@SZDB ~]# more shell_call_sql2.sh
#!/bin/bash
mysql -uroot -p123456 <<EOF
source /root/temp.sql;
select current_date();
delete from tempdb.tb_tmp where id=3;
select * from tempdb.tb_tmp where id=2;
EOF
exit;
[root@SZDB ~]# ./shell_call_sql2.sh
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
current_date()
2014-10-14
id val
2 robin

5、shell腳本中變數輸入與輸出

代碼如下:

[root@SZDB ~]# more shell_call_sql3.sh
#!/bin/bash
cmd="select count(*) from tempdb.tb_tmp"
cnt=$(mysql -uroot -p123456 -s -e "${cmd}")
echo "Current count is : ${cnt}"
exit
[root@SZDB ~]# ./shell_call_sql3.sh
Warning: Using a password on the command line interface can be insecure.
Current count is : 3

[root@SZDB ~]# echo "select count(*) from tempdb.tb_tmp"|mysql -uroot -p123456 -s
3

[root@SZDB ~]# more shell_call_sql4.sh
#!/bin/bash
id=1
cmd="select count(*) from tempdb.tb_tmp where id=${id}"
cnt=$(mysql -uroot -p123456 -s -e "${cmd}")
echo "Current count is : ${cnt}"
exit

[root@SZDB ~]# ./shell_call_sql4.sh
Current count is : 1