pgsql执行脚本并传参

这篇博客介绍了在不登陆和登陆psql情况下执行PostgreSQL SQL脚本的方法,包括设置客户端编码、指定用户和数据库、传参等。重点讨论了如何在命令行中通过-psql和sqlshell工具来运行脚本,并处理可能出现的模式和编码问题。同时提到了在不同模式下操作数据库的注意事项,如切换模式和设置搜索路径。
摘要由CSDN通过智能技术生成

编写脚本

参数是 v1,使用方式:冒号:+参数v1
select m.movieid,r.rating
from users u join ratings r ON u.userid =r.userid
join movies m
on r.movieid =m.movieid
where u.userid =:v1;
使用第一种方式就行,第二种目前对我有问题,并且还不知道能不能传参。

(1)不登陆psql

postgresql的自带的数据库管理工具是psql,该工具十分稳定,可靠,Windows和Linux系统都有,因此,是运行SQL脚本的首选。
set client_encoding to 'utf8';如果执行脚本报编码问题,在脚本中加入该命令,因为客户端是gbk编码
psql -U username -d myDataBase -f “C:\Users\70201\Desktop\新建文件夹 (2)\作业2.sql”
##username是登陆用户名,mydatabase是要登陆哪个数据库,-f后接脚本绝对路径

1.进入PostgreSQL的bin目录,从此处进入cmd

在这里插入图片描述

2.执行脚本 -u是用户名 -v是传参
在这里插入图片描述

(2)登陆psql

1.搜索sql shell
在这里插入图片描述
2.登录
直接回车进入默认库postgres
口令输入用户密码,我的是123456

\l ##列举数据库
\c 数据库名称 ##切换数据库
在这里插入图片描述
\encoding 显示字符集:

在这里插入图片描述
\d 表名 查看某个库中的某个表结构
在这里插入图片描述

\dn 查看模式
在这里插入图片描述
查看模式下的表,模式.表名。如果不加则报错:关系“表名”不存在。因为默认是在模式public下
在这里插入图片描述
切换模式a,因为默认是在public模式下(我这里没有是我删除public了,但是pg还是会在public下找表)
\dt 查看表
在这里插入图片描述

查看表数据
在这里插入图片描述

\i 脚本名 ##绝对路径,执行这个脚本
我这里访问受限,等以后再解决

退出psgl:\q

报错:关系“表名”不存在。

错误原因:postgres数据库,使用程序连接默认进入的是public的schema。此处我选择在public下建表,如果以后需要切换模式,到时再用下面方法
解决方法:切换模式schema。

SET search_path=test_schema;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值