首页技术批量insert语句(批量执行insert语句)

批量insert语句(批量执行insert语句)

编程之家2026-06-011000次浏览

大家好,今天给各位分享批量insert语句的一些知识,其中也会对批量执行insert语句进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

批量insert语句(批量执行insert语句)

SQL批量插入数据

一、针对批量插入数据,如果量不是太多,可以多条SQL语句运行就可以了,

类似下面的语句,当然可以使用excel编辑后,复制到查询器中运行,

insert into table(a,b) values('1','a')

insert into table(a,b) values('2','b')

insert into table(a,b) values('3','c')

二、大量数批量插入,即数据表的移植,数据备份转换之类的,就需要工具,比如MSSQL的DTS工具,pb的数据通道等等。这里介绍一下 DTS工具。

批量insert语句(批量执行insert语句)

1、在SQL安装目录下开启导入和导出数据,即DTS。

2、选择一个批量的数据,可以是表,也可以是带分隔符的文件,或excel文档之类,如图中选择,导入的格式

3、选择导入的目标

4、选择导入方式

5.具体的导入规则

怎样在sql中用insert语句往表中插入多行

如果数据很多的话建议可以用别的方法特别是数据量比较多的时候

批量insert语句(批量执行insert语句)

ORACLE有一个SQLLODER功能

1.生成百万级的sql,保存SQL文件为getobject.sql

select a.owner||',"'||a.object_name||'",'||a.object_id||','||to_char(a.created,'yyyy-mm-dd hh24:mi:ss')||','||a.status

from dba_objects a,(select rownum from dual connect by rownum<= 20);

2.sql数据转换成数据文件,保存脚本为call.sql

set echo off

set term off

set trimout on

set trimspool on

set pagesize 0

set feedback off

set heading off

spool c:\getobject.csv

@c:\getobject.sql

set spool off

set heading on

set feedback on

set trimspool off

set trimout off

set term on

set echo on

注释:

set colsep'';//-域输出分隔符

set echo off;//显示start启动的脚本中的每个sql命令,缺省为on

set echo on//设置运行命令是是否显示语句

set feedback on;//设置显示“已选择XX行”

set feedback off;//回显本次sql命令处理的记录条数,缺省为on

set heading off;//输出域标题,缺省为on

set pagesize 0;//输出每页行数,缺省为24,为了避免分页,可设定为0。

set linesize 80;//输出一行字符个数,缺省为80

set numwidth 12;//输出number类型域长度,缺省为10

set termout off;//显示脚本中的命令的执行结果,缺省为on

set trimout on;//去除标准输出每行的拖尾空格,缺省为off

set trimspool on;//去除重定向(spool)输出每行的拖尾空格,缺省为off

set serveroutput on;//设置允许显示输出类似dbms_output

set timing on;//设置显示“已用时间:XXXX”

set autotrace on-;//设置允许对执行的sql进行分析

set verify off//可以关闭和打开提示确认信息old 1和new 1的显示.

3.运行call.sql生成数据文件

sqlplus hxadmin/secret as sysdba;

@c:\call.sql

4.初始化环境,创建导入表OBjects

create table OBJECTS

(

OWNER VARCHAR2(50),

OBJECT_NAME VARCHAR2(50),

OBJECT_ID NUMBER,

STATUS VARCHAR2(10),

CREATED DATE

)

5.生成导入控制文件,保存控制文件为ldr_object.ctl

LOAD DATA

INFILE getobject.csv

TRUNCATE INTO TABLE OBJECTS

FIELDS TERMINATED BY"," OPTIONALLY ENCLOSED BY'"' TRAILING NULLCOLS

(OWNER,

OBJECT_NAME,

OBJECT_ID,

CREATED date'yyyy-mm-dd hh24:mi:ss',

STATUS)

6.执行sqlldr命令

C:> sqlldr hxadmin/secret control= ldr_object.ctl direct= true

7.查看ldr_object.log日志文件

这个例子是我自己做的一个100W行的数据插入也只要10几秒。希望你能用到。

请教SQL批量更新语句

SQL批量更新语句

create table a1(

id1 int primary key,

va1 varchar(20)

)

drop table b2

create table b2(

id2 int primary key,

va2 varchar(20)

)

--创建一张中间表来储存被删除的id

create table idrecord

(

id int

)

--a1插入测试数据

insert into a1 values(1,'地理');

insert into a1 values(2,'物理');

--b2插入测试数据

insert into b2 values(1,'数学');

insert into b2 values(3,'英语');

select* from a1

select* from b2

--如果A1存在ID与B1相同的数据,则更新,由于主键不能重复插入,所以先删除数据再进行添加,

--记录被删除的id

delete from idrecord

insert into idrecord select id1 from a1 where id1 in(select id2 from b2)

--先删除在 a1 ID与 b2相同的数据

delete from a1 where id1 in(select id2 from b2)

insert into a1 select* from b2 where id2 in(select* from idrecord)

--如果A1不存在ID与B1相同的数据,则添加B1中的数据到A1中

insert into A1 select* from b2 where id2 not in(select id1 from a1)

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

java api帮助文档?api接口软件计算机编程语言的发展历程,计算机编程语言大全