小程序制作平台网站设计平台 互联网品牌制作专家
关于A5客户收购GoogleAdsense带有搜索账户的相关事宜更多

软文发布平台资讯中心

PostgreSQL实现sql放入文件批量执行

PostgreSQL实现sql放入文件批量执行

  项目招商找A5 快速获取精准代理名单

这篇文章主要介绍了PostgreSQL 实现sql放入文件批量执行,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。

PostgreSQL sql放入文件,登入数据库之后批量执行

1. 建立测试sql:

vi aa.sql插入:猜测每条sql语句是用;分隔的,function中的多个;也会自动识别。

create table tb1(id integer);insert into tb1 select generate_series(1,10);select * from tb1;delete fromtb1 where id<3;select * from tb1;

2. 将aa.sql放入 ./src/postgresql-9.3.5/src/tutorial下(./src/postgresql-9.3.5/src/tutorial是PostgreSQL自动识别的目录,当然也可以放在任意目录,比如/home/postgres/aa.sql)

3. 切换用户登入

1

2su postgrespsql postgres

4. 执行:当输入\i时候,会自动检测到./src/postgresql-9.3.5/src/tutorial下的文件,PostgreSQL的测试例子也放在此目录下

postgres=# \i aa.sql (\i /home/postgres/aa.sql)id | name ----+------1 | join2 | join3 | join4 | join5 | join6 | join7 | join8 | join9 | join10 | join(10 rows)CREATE TABLEINSERT 0 10id ----12345678910(10 rows)DELETE 2id ----345678910(8 rows)postgres=#

postgres=# \d tb1 Table "public.tb1"Column | Type | Modifiers --------+---------+-----------id | integer |

第二个例子:

vi bb.sql:写入一个function:

create function func1()returns void as $$declarebegindelete from person where id>5;delete from tb1 where id>5;end$$language plpgsql;select func1();

执行前:

postgres=# select * from person ;id | name ----+------1 | join2 | join3 | join4 | join5 | join6 | join7 | join8 | join9 | join10 | join(10 rows)postgres=# select * from tb1 ;id ----345678910(8 rows)

执行:

postgres=# \i bb.sql CREATE FUNCTIONfunc1 -------(1 row)

执行后:

postgres=# select * from person ;id | name ----+------1 | join2 | join3 | join4 | join5 | join(5 rows)postgres=# select * from tb1 ;id ----345(3 rows)postgres=#

5. 也可以使用psql命令执行

1pslq -d postgres -U postgres -f /home/postgres/aa.sql

补充:PostgreSQL - 用psql 运行SQL文件

对于预先写好的SQL文件,比如/home/user1/updateMyData.sql, 可以有两种方式来运行这个SQL文件。

方式一:

连接db后执行SQL文件

首先通过psql连接到对应的db:

1psql -d db1 -U userA

接着输入密码,进入数据库后,输入:

1\i /pathA/xxx.sql

这里有个问题,如果你把SQL文件的路径里的路径分隔符写成了\,会报错说Permission denied。

这里的文件路径必须使用Linux平台下的路径分隔符/,否则会报错。

方式二:

直接通过psql命令执行SQL文件

这种方式无需先登录数据库,直接用一个命令就可以了:

1psql -d db1 -U userA -f /pathA/xxx.sql

接着输入密码即可执行SQL文件到对应的db里。

文章来源:脚本之家

来源地址:https://www.jb51.net/article/205258.htm

尊敬的看官您对PostgreSQL实现sql放入文件批量执行有什么看法呢?互联网品牌制作专家愿与您共同探讨!版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请加微信号oem365 举报,一经查实,本站将立刻删除。

上一篇: postgreSQL查询结果添加一个额外的自增序列操作   返 回   下一篇:PostgreSQL三种自增列sequence,serial,identity的用法区别

相关资讯

小程序应用场景 | 小程序解决方案 | 小程序案例 | 小程序应功能 | 软文发布资源 | 网站设计

酒店预约解决方案
酒店预约小程序走红网络,也是传统转型的重要变化
详情
投票解决方案
强大功能,傻瓜式管理,有效防止作弊刷票
详情
新零售解决方案
小程序是现在新零售的新方式,深度结合线上线下
详情
预约服务解决方案
预约到店小程序通过用户在线预约到店等
详情
企业官网解决方案
企业展示小程序主要展示企业信息、产品案例等
详情
教育培训解决方案
主要展示教育机构的课程、可在线预约与购买课程
详情
推广解决方案
可以让企业通过推广模式全面展示自己的产品
详情
到店解决方案
到店服务解决方案,主要是面向实体餐饮门店
详情

我们的服务是否能满足您的需求?

如果不能,请联系我们或给我们留言,我们收到后会第一时间联系您!感谢您对我们的关注!

粤公网安备 44200002005005号