当前位置:首页 » 编程语言 » sql加行数

sql加行数

发布时间: 2024-01-11 11:25:06

❶ 怎样在sql中用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 al 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查询语句如何添加一个统计数据行数

具体看你什么数据库了,还有你字段1,字段2,字段3哪个字段是字符类型的。

比如字段3是字符类型:

oracle写法:

SELECT字段1,字段2,字段3FROM打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
unionall
selectnull,null,'合计:'||count(*)from打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'

mysql写法:

SELECT字段1,字段2,字段3FROM打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
unionall
selectnull,null,concat('合计:',(cast(count(*)asvarchar)from打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'

sqlserver写法:

SELECT字段1,字段2,字段3FROM打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
unionall
selectnull,null,'合计:'+(cast(count(*)asvarchar)from打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'

❸ 如何在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在一个列中插入多行数据

无任何逻辑的数字,这个要看是什么数据库,各个数据库产生随机数的方法是不一样的。
另外
“我要在wo那一列中添加三行无任何逻辑的数字 ”
这个是用update不是insert
看你的应该是sql server数据库:sql如下
update Brother set wo=dbo.udf_GetRandomInteger(1,100)

热点内容
mysql怎么用数据库 发布:2025-01-23 07:21:02 浏览:997
怎么访问暗网 发布:2025-01-23 07:02:04 浏览:665
无线配置代理选什么 发布:2025-01-23 06:52:54 浏览:824
c程序汇编程序 发布:2025-01-23 06:49:42 浏览:840
cmd命令与linux命令 发布:2025-01-23 06:40:26 浏览:806
linux用户目录权限 发布:2025-01-23 06:37:49 浏览:233
学计算机避免编程 发布:2025-01-23 06:29:09 浏览:661
易语言机器人源码 发布:2025-01-23 06:24:03 浏览:320
汇编语言的编译可以叫解释吗 发布:2025-01-23 06:23:22 浏览:35
tomcat编译后的文件 发布:2025-01-23 06:05:46 浏览:254