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

我想往我的销售表中插入
0001 电视 500 1000
0002 电脑 4000 2000等多行数据!请各位高手用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几秒。希望你能用到。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-10
insert into 销售表(字段1,字段2,字段3,字段4) values ('0001','电视','500','1000')
insert into 销售表(字段1,字段2,字段3,字段4) values ('0002','电脑','4000','2000')

依次类推,是这意思么?
第2个回答  2015-10-23
insert 表名 (列名,列名)

select 值1,值2 union
select 值1,值2 union
select 值1,值2
第3个回答  2010-04-10
insert into tb
select '0001', '电视', 500, 1000
union all
select '0002', '电脑', 4000, 2000
union all
select ..............
第4个回答  推荐于2017-10-13
INSERT INTO student VALUES(name, age, sex),
('哈哈', 21, '男'),
('呵呵', 22, '女');

如何实现一条sql语句插入多行数据
1. 通过从表2中选择特定条件下的数据,并将其插入到表1中,可以实现一条SQL语句插入多行数据。具体操作是使用以下SQL语句:```sql INSERT INTO tab1 (fld1, fld2, ..., fldn)SELECT field1, field2, ..., fieldn FROM tab2 WHERE xxxxx;```2. 另一种方法是直接在`INSERT`语句中提供...

怎样在sql中用insert语句往表中插入多行
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_NAM...

SQL插入数据 – INSERT语句
第一种是将数据逐列插入到表中,语法要求列数和值数匹配,列与值的顺序要一致。例如,以data_learning库的product表为例,无论是插入一行或多行数据,可以使用以下语句:1. 插入多行数据到所有列:2. 如果只插入特定列,可以省略列名:执行后,未指定的列将默认为NULL,查询结果会显示这些信息。第二...

向sql数据库中增加多条数据用sql命令怎么写急急急
这并不是标准的SQL语法,因此只能在MySQL中使用。一条INSERT语句插入批量数据的写法:INSERT INTO (,)VALUES (,)),(,)),(,));可以看到,和原来的常规INSERT语句的区别,仅仅是在VALUES 后面增加值的排列,每条记录之间用英文输入法状态下的逗号隔开,是不是so easy。示例:INSERT INTO items(name,...

T-SQL语句中如何使用INSERT语句插入多行数据?
SQLSERVER里面可以采用下面两种办法。使用SELECT INTO 插入行SELECT INTO 语句创建一个新表,并用 SELECT 的结果集填充该表。新表的结构由选择列表中表达式的特性定义,例如:SELECT Shippers.*, Link.Address, Link.City,Link.Region, Link.PostalCodeINTO NewShippersFROM ShippersJOIN LinkServer.DB.dbo....

如何用SQL语句向一个表中插入多行记录
insert一般是用来给表插入一条指定的列值的,但是,insert还存在另一种形式,可以利用它将一条select语句的结果插入表中。这就是所谓的insert select,顾名思义,它是由一条insert语句和一条select语句组成的。假如你从另一张表中合并客户列表到你的Custumers表,不需要每次读取一行,然后再将它用insert...

怎样在sqlserver中循环批量insert
1. 使用循环语句:SQL Server支持多种循环语句,如`WHILE`循环、`CURSOR`等。可以根据需要选择合适的循环结构。例如,如果要循环插入一系列数据,可以使用`WHILE`循环。2. 构造INSERT语句:在循环体内,使用INSERT语句将数据插入到目标表中。为了提高效率,可以一次性插入多行数据,即批量插入。这可以通过...

如何在sql中在新建表中插入多行数据
直接通过insert语句多次插入即可。假如表名是 tablename insert into tablename values('value1','value2','value3',...);insert into tablename values('value11','value22','value33',...);insert into tablename values('value111','value222','value333',...);备注:上面的参数个数...

求sql怎么一次用insert 添加多条数据
用insert 添加多条数据:insert into 表1(列名) select 列名 from 表2 --主键要自增 对于主键不自增的也可以处理,如:建一张临时表,主键ID自增,然后取出要插入有的最大值,把最大值加到临时表ID上再用:insert into 表1(ID,列名) select ID,列名 from 表2 ...

MySQL如何实现一次插入多行数据mysql一次插入几行
实现一次插入多行数据的方法有多种,其中最常用的是使用INSERT INTO语句和VALUES子句。这种方式可以同时插入多条记录,而且代码非常简洁易懂。以下是一个SQL示例:INSERT INTO table_name (column1, column2, column3)VALUES (value1, value2, value3),(value4, value5, value6),(value7, value8,...

相似回答