insert语句必须一条一条写,这个是没什么办法的,除非你要插入的数据已经在其他表中有了告诉你一个办法,我们工作中都是这样的,几十万条数据插入都是这样做。先把数据整理到一个excel里,然后根据excel生成sql语句,遇过你不会用程序做,可以直接用excel的功能,把不同列的数据拼起来就可以了
SQL语句是:select 分类,ID from (select top 100 ID, 分类 from 表 where 条件筛选表达式 order by ID asc) as 新表 order by 分类 asc,ID asc
这个是按顺序把表格一和表格二等表格合并为一个表格。也就是一个结果集。
如果是要把表格一和表格二等表格分开显示的话,也就是多个结果集的话。将程序代码分两步做。
第一步:执行SQL语句将表格数量求出,也就是分类的值的不重复总数:
select count(分类) as 总数字段名 from (select distinct 分类 from (select top 100 ID, 分类 from 表 where 条件筛选表达式 order by ID asc) as 新表 ) as 新表2
第二步:按这个总数值作为循环次数循环执行SQL语句。得到各个结果集也就是显示表格:
for i:=1 to 总数 do
begin
执行SQL语句:select 分类,ID from (select top 100 ID, 分类 from 表 where 条件筛选表达式 order by ID asc) where 分类= (select top 1 分类 from (select top :i 分类 from (select distinct 分类 from (select top 100 ID, 分类 from 表 where 条件筛选表达式 order by ID asc) as 新表 order by 分类 asc) order by 分类 asc) as 新表2 order by 分类 desc) order by ID asc
注意:其中的短语:“select top :i 分类”中的:i表示i是循环变量。从1到总数。这样能按分类的顺序读取各个分类的结果集。并显示到表格中。
end;
这个主要是看你用的哪个数据库了\x0d\不同的数据库有差异。\x0d\在mysql和oracle里面用如下方法最简单\x0d\select from table LIMIT 10,100;\x0d\\x0d\而在sqlserver中由于不支持limit只用其他方法啦:\x0d\当此表有主键时:\x0d\select top 100 from 表 where 主键 not in(select top 10 主键 from 表) \x0d\如果表中无主键:\x0d\可以用临时表,加标识字段解决这里的x,y可以用变量 \x0d\select id=identity(int,1,1), into #tb from 表 \x0d\select from #tb where id between 10 and 100
1、创建测试表,create table test_batch(id number, v_date date);
2、先看插入原始表数据;select t, rowid from test_day t;
3、批量插入测试数据,insert into test_batch select from test_day;commit;
4、查询表的记录,select t, rowid from test_batch t; 可以发现数据一致。批量添加数据完成。
没明白你的意思
你说的是 表里的 行呢
还是 行 里面的 值呢
表里面的行,直接insert 一条就可以
行里的值用 update tablename set x = 101 where 别的条件 limit 1;
这个x是你要修改的字段,101是修改后的值,x以前是=1的,limit 1是只修改一条的意思。
以上就是关于sql 向数据库中增加多条数据,用sql命令怎么写急!急!急!全部的内容,包括:sql 向数据库中增加多条数据,用sql命令怎么写急!急!急!、我要把access数据库里一个表,读取前100条,这100条再分类显示出来怎么做、SQL中查询表中第10--100条之间的数据怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)