PostgreSQL向数据库表中添加行数据的操作

实例:

例如数据库中有一个2013Rainfall数据表

想在下面接着插入一行数据,在pgAmin III 界面中,点击SQL,并其界面下输入,

如下图所示

并运行,同时刷新编辑数据界面,可看到数据插入成功,

如下图所示

补充:postgresql向表中插入大量数据

不使用存储过程:

insert into schema.table select generate_series(1,10000),'a';

以上表中有一列int类型列和一列char型列,generate_series(1,10000)作用为产生数列1、2、3…10000,因此执行完以上语句后表中被插入了10000条数据。

使用存储过程:

create or replace function input()
returns boolean AS
$BODY$
declare i integer;
begin
i:=1;
for i in 1..1000000 loop
insert into schema名.table名 values(值);
end loop;
return true;
end;
$BODY$
language plpgsql;

以上存储过程给表插入了100W条数据。

之后调用存储过程即可:

select * from 存储过程名();

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • postgresql coalesce函数数据转换方式

    oracle 的NVL(col,0)是判断如果col字段为空的时候赋值0,同样的postgresql中的函数就是coalesce,用法是一样的 SELECT coalesce(collect_result,value) as collect_result FROM collect 数据库中如果查询的字段collect_result为空那么赋值value给collect_result. 补充:postgresql coalesce字段为空时赋一个固定值,等同oracle的nvl 字段为空时赋一个固

  • postgresql数据库使用说明_实现时间范围查询

    按照日期查询通常有好几种方法: 按照日期范围查询有好几种方法,日期字段类型一般为: Timestamp without timezone 方法一: select * from user_info where create_date >= '2015-07-01' and create_date < '2015-08-15'; 方法二: select * from user_info where create_date between '2015-07-01' and '2015-08-15';

  • 浅析postgresql 数据库 TimescaleDB 修改分区时间范围

    今天遇到一个问题 之前用TimescaleDB创建的超表 是已7天为单位的 由于7天的数据量过大 影响查询效率 需要把7天的分区改为一天一分区 创建超表 create_hypertable() 1.创建普通版表 CREATE TABLE "超表名" ( "collect_time" timestamp(6) NOT NULL, "code" varchar(36) COLLATE "pg_catalog"."defa

  • postgresql 导入数据库表并重设自增属性的操作

    postgresql使用Navicat软件导出数据库表,在导入会数据库的操作. postgresql 的自增字段 是通过 序列 sequence来实现的. 1.先删除导出的数据库表中的自增属性 2.导入数据库表之后,需要创建序列. 注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id CREATE SEQUENCE cof_table_hot_analysis_id_seq START WI

  • 解决postgresql 数据库 update更新慢的原因

    ;大约140000条数据) 竟然运行了一个小时还没有完成 下面是我的几点解决方案 我的update 语句 是从一个临时表更新值到另一个正式表 因为具体数据需要保密,我就不截图了 只说说大体思路,与方法 1.查看语句是否有问题 复制俩个一模一样的表 和数据 手动执行语句 发现不到一分钟就运行成功了 这样就可以确认语句没有问题 2.查找影响updata的因素 我的第一反应是不是有锁 有锁的情况会导致等待或者死锁 查询锁 select w1.pid as 等待进程, w1.mode as 等待锁模式,

  • postgresql数据库连接数和状态查询操作

    查看数据库的当前连接数和状态的几种方式: 只是能看出数据库服务是否正在运行和启动路径 pg_ctl status 统计当前postgresql相关进程数,在大体上可以估算数据库的连接数,非精准,但是目前最常用的 ps -ef |grep postgres |wc -l 包含本窗口的所有数据库连接数 SELECT count(*) FROM pg_stat_activity: 不包含本窗口的所有数据库连接数,其中pg_backend_pid()函数的意思是当前进程相关的后台进程ID SELECT

  • Postgresql 数据库转义字符操作

    产生问题 Postgresql数据库运行下面insert命令 insert into mapping_mac_brand(_id,mac,brand) values(777,'D86595','Toy\'s Myth Inc.') 提示下面的警告: Warning: nonstandard use of \' in a string literal HINT: Use '' to write quotes in strings or use the escape string syntax(E.

  • PostgreSQL向数据库表中添加行数据的操作

    实例: 例如数据库中有一个2013Rainfall数据表 想在下面接着插入一行数据,在pgAmin III 界面中,点击SQL,并其界面下输入, 如下图所示 并运行,同时刷新编辑数据界面,可看到数据插入成功, 如下图所示 补充:postgresql向表中插入大量数据 不使用存储过程: insert into schema.table select generate_series(1,10000),'a'; 以上表中有一列int类型列和一列char型列,generate_series(1,1000

  • Postgresql删除数据库表中重复数据的几种方法详解

    一直使用Postgresql数据库,有一张表是这样的: DROP TABLE IF EXISTS "public"."devicedata"; CREATE TABLE "public"."devicedata" ( "Id" varchar(200) COLLATE "pg_catalog"."default" NOT NULL, "DeviceId&qu

  • php使用PDO从数据库表中读取数据的实现方法(必看)

    创建了PDO对象后,就可以通过创建的对象进行数据检索了.查询数据我们可以使用PDO::query()方法,具体代码如下: try{ $pdo=new PDO('mysql:host=localhost;dbname=alpha','root','password'); }catch(PDOException $e){ echo "数据库连接失败,原因是:".$e->getMessage(); } //从数据库中选择数据,并将结果赋予一个变量,testtable为数据库表 $res

  • Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法

    本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015/4/27 Modified:2015/5/1 @author: guoyJoe """ #导入模块 import MySQLdb import time impor

  • PHP获取数据库表中的数据插入新的表再原删除数据方法

    1, 路由 我使用 get (1) 控制器 public function a(Request $request){ //获取指定的id $id = $request->id; $rs=R::find($id); //仓库中 $re=$rs->rfid; //判断仓库中的是否与数据库的rf在线的是否相等 $ws= G::where('rfid','=',$re)->first(); if($ws){ return response()->json(['status'=>0,'

  • 复制数据库表中两个字段数据的SQL语句

    复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用. 复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",B字

  • Oracle表中重复数据去重的方法实例详解

    Oracle表中重复数据去重的方法实例详解 我们在项目中肯定会遇到一种情况,就是表中没有主键 有重复数据 或者有主键 但是部分字段有重复数据 而我们需要过滤掉重复数据 下面是一种解决方法 delete from mytest ms where rowid in (select aa.rid from (select rowid as rid, row_number() over(partition by s.name order by s.id) as nu from mytest s) aa

  • c++获取sqlite3数据库表中所有字段的方法小结

    常用方法: 1.使用sqlite3_get_table函数 2.获取sqlite创建表的sql语句字符串,然后进行解析获取到相应的字段 3.采用配置文件的方式,将所有字段名写入配置文件 下面针对这三个方法给大家逐一详细介绍. 方法1:使用sqlite3_get_table函数 代码: char *dbname = "test.db"; int rc = sqlite3_open(dbname, &db); if (rc == SQLITE_OK) { char sql[256]

  • 详解MySQL导出指定表中的数据的实例

    详解MySQL导出指定表中的数据 要求: 1. 不导出创表的语句,因为表已经建好:默认会导出,先drop table然后create table: 2. 导出的insert语句加上ignore,允许重复执行:默认不会加上ignore: 3. insert语句中列出表中的字段,看得更清楚:默认不会: 4. 分记录生成多条insert语句,修改起来比较容易:默认是一条: 最终结果如下: mysqldump -pxxxxxx qzt qf1_mail_account --no-create-info

随机推荐