复制表和批量增加表数据

本文展示了如何在Oracle数据库中查看表及行数、复制表和数据、去重操作、批量新增数据以及清空和插入数据到表中的方法。同时,提到了PostgreSQL的类似操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

增加百万表数据,根据配置、是否索引等情况,可能需要几分钟~几个钟时间不等

oracle 

oracle:

1.查看数据库所有表以及表行数
select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC;

2.复制一张表和表数据
    create table ORA_DATA1 as select * from HR.ORACLE_ALL_TYPE_SRC_DATA WHERE ID < 100000;

复制表数据:
insert into  HR.ORA_DATA1 select * from HR.ORACLE_ALL_TYPE_SRC_DATA WHERE ID < 1000001;


3.去重,并计算数量
SELECT count(DISTINCT oravarchar2 ) FROM HR.ORACLE_ALL_TYPE_SRC_DATA ;



批量新增数据:
DECLARE
str Varchar(10);-- 定义一个字符串变量str
BEGIN
for i in 100000 .. 1000000 loop
INSERT INTO "HR"."ORA_DATA1"("ID", "ORACHAR", "ORAVARCHAR2", "ORANCHAR", "ORANVARCHAR2", "ORADATE", "ORANUMBER", "ORADECIMAL", "ORAINTEGER", "ORAFLOAT", "ORAREAL", "ORANAME") VALUES (i, '固定    ', '可变字符'||i, '固定长水电费水电费 ', '根据字符集而定的可变长度字符串根据字符集而定的可变长度字符串根据字符集而定的可变长度字符串根据字符集而定的可变长度字符串', TO_DATE('2021-09-16 15:17:31', 'SYYYY-MM-DD HH24:MI:SS'), '12', '12.198212315454645464646464132456848', '11'||''||i, i||''||'123123.34500000000', '1212411982639182.0', 'ORANAME1  ');
end loop;
commit;
END;

pg

清空表数据:
TRUNCATE TABLE kgtest.postgre_type_hastime_tar_data ;

pg批量插入数据:
do $$
declare
num integer := 1;
BEGIN
	while num < 2000001 loop
		INSERT INTO kgtest.postgre_type_hastime_tar_data
(id, sinteger, sfloat, schar, svarchar, stimestamp, sboolean, sdate, sunique, stime, snull)
VALUES(num, 8888, num*0.001, 'char', '字符串'||num, now(), true, now(), 11, now(), '中文'||num);
		num = num+1;
  end loop;
end $$;

去重查询表:
select count(DISTINCT id) from kgtest.postgre_type_hastime_tar_data ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值