加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL 使用psql插入参数到sql脚本文件中

发布时间:2020-12-13 17:19:04 所属栏目:百科 来源:网络整理
导读:1. 数据 postgres= # select * from tb1; id | name -----+------ 2 | aa 3 | aa 4 | aa 7 | aa 8 | aa 9 | aa 10 | aa 1 | cc 5 | cc 6 | cc 100 | vv ( 11 rows) 2. 准备sql脚本文件 vi test.sql 写入 select * from tb1 where id=:id; (:+变量名) 保存。

1. 数据

postgres=# select * from tb1;
 id  | name 
-----+------
   2 | aa
   3 | aa
   4 | aa
   7 | aa
   8 | aa
   9 | aa
  10 | aa
   1 | cc
   5 | cc
   6 | cc
 100 | vv
(11 rows)

2. 准备sql脚本文件

vi test.sql

写入 select * from tb1 where id=:id; (:+变量名)

保存。

3. 使用psql命令执行sql脚本

[postgres@localhost ~]$ psql postgres postgres -v id=1 -f /home/postgres/test.sql 
 id | name ----+------
 1 | cc
(1 row)

[postgres@localhost ~]$ psql postgres postgres -v id=2 -f /home/postgres/test.sql 
 id | name ----+------
 2 | aa
(1 row)

4. psql命令使用-c 调用i命令

[postgres@localhost ~]$ psql postgres postgres -v id=2 -c 'i /home/postgres/test.sql '
 id | name ----+------
 2 | aa
(1 row)

5. psql使用文档

[postgres@localhost ~]$ psql --help
psql is the PostgreSQL interactive terminal.

Usage:
  psql [OPTION]... [DBNAME [USERNAME]]

General options:
  -c,--command=COMMAND run only single command (SQL or internal) and exit
  -d,--dbname=DBNAME database name to connect to (default: "postgres")
  -f,--file=FILENAME execute commands from file,then exit
  -l,--list list available databases,then exit
  -v,--set=,--variable=NAME=VALUE
                           set psql variable NAME to VALUE -V,--version output version information,then exit -X,--no-psqlrc do not read startup file (~/.psqlrc) -1 ("one"),--single-transaction execute as a single transaction (if non-interactive) -?,--help show this help,then exit Input and output options: -a,--echo-all echo all input from script -e,--echo-queries echo commands sent to server -E,--echo-hidden display queries that internal commands generate -L,--log-file=FILENAME send session log to file -n,--no-readline disable enhanced command line editing (readline) -o,--output=FILENAME send query results to file (or |pipe) -q,--quiet run quietly (no messages,only query output) -s,--single-step single-step mode (confirm each query) -S,--single-line single-line mode (end of line terminates SQL command) Output format options: -A,--no-align unaligned table output mode -F,--field-separator=STRING set field separator (default: "|") -H,--html HTML table output mode -P,--pset=VAR[=ARG] set printing option VAR to ARG (see pset command) -R,--record-separator=STRING set record separator (default: newline) -t,--tuples-only print rows only -T,--table-attr=TEXT set HTML table tag attributes (e.g.,width,border) -x,--expanded turn on expanded table output -z,--field-separator-zero set field separator to zero byte -0,--record-separator-zero set record separator to zero byte Connection options: -h,--host=HOSTNAME database server host or socket directory (default: "/usr/local/postgres-9.3.5/data") -p,--port=PORT database server port (default: "5432") -U,--username=USERNAME database user name (default: "postgres") -w,--no-password never prompt for password -W,--password force password prompt (should happen automatically) For more information,type "?" (for internal commands) or "help" (for SQL commands) from within psql,or consult the psql section in the PostgreSQL documentation.


参考:http://francs3.blog.163.com/blog/static/40576727201342834353302/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读