當前位置:首頁 » 編程語言 » linux下sql

linux下sql

發布時間: 2024-10-12 17:19:34

linux下如何運行sql腳本

Linux運行sql腳本的具體操作步驟如下:

1、使用shell工具登陸到安裝postgresql的伺服器,切換到postgres用戶,postgresql默認的操作用戶,命令是:su - postgres,查看當前路徑是/var/lib/psql,創建一個test.sql腳本文件,命令是:vim test.sql。

⑵ linux下執行sql文件

linux里登錄資料庫後直接執行特定的命令就可以,參數是文件所在位置。比如說mysql:首先登錄資料庫mysql -u用戶名 -p,之後執行source sql文件位置 就可以。

⑶ linux上mysql怎樣導入sql資料庫文件

首先通過xshell連接資料庫伺服器,執行命令mysql -u root -p 命令,按照提示輸入密碼。連接上資料庫。x0dx0ax0dx0a在連接終端上執行命令create database JD_Model;x0dx0a執行完成後,驗證資料庫是否創建成功。執行命帆旦令show database;查看是否有JD_Model資料庫。x0dx0ax0dx0a將准備好的資料庫文件20151010.sql文件通過xftp工具,上傳至/root目錄下,並等待上傳完畢。x0dx0ax0dx0a在連接資料庫的終端執行命令use JD_Model。x0dx0a使用JD_Model資料庫。具體操作如下圖所示。x0dx0ax0dx0a執行命令source /root/20151010.sql。執行資料庫導入命令。x0dx0a待導入完畢,執行下一步操作。x0dx0ax0dx0a確定數據表蔽或是否創建成功,即數據文件是否導入成功。x0dx0a執行命令 show tables;查看資料庫下的態並擾表。

⑷ 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

熱點內容
伺服器搭建代理教程 發布:2024-11-24 09:36:20 瀏覽:444
svn存儲伺服器 發布:2024-11-24 09:22:36 瀏覽:410
linux的硬碟格式 發布:2024-11-24 09:22:35 瀏覽:320
啟動ftp的命令是 發布:2024-11-24 09:12:33 瀏覽:601
腳本爬取數據 發布:2024-11-24 09:11:50 瀏覽:273
加密機制協議的是 發布:2024-11-24 09:11:47 瀏覽:826
易語言靜態編譯dll 發布:2024-11-24 09:11:43 瀏覽:583
cf游戲里最低配置怎麼調 發布:2024-11-24 09:02:51 瀏覽:81
java排序演算法效率 發布:2024-11-24 08:59:06 瀏覽:145
安卓vivo藍牙耳機掉了一隻怎麼找 發布:2024-11-24 08:45:28 瀏覽:847