sql 添加多条记录

 1 --添加一条记录    
 2  insert into tableName(col1,col2,col3) values (val1,val2,val3)  
 3 --添加多条记录  
 4  insert into tableName(col1,col2,col3)   
 5  select val1,val2,val3   
 6  union all  
 7  select val1,val2,val3  
 8  、、、  
 9 ---当把 union all 换成 all 后,相同记录只插入一次,不会重复插入(必须所有字段都相同时,自动增长列除外)  
10   
11 ---从另外的一张表中读取多条数据添加到新表中  
12  insert into tableName(col1,col2,col3)  
13  select val1,val2,val3 from tagTable  
14   
15 --从其他的多张表中读取数据添加到新表中  
16  insert into tableName(col1,col2,col3)  
17  select val1,val2,val3 from tagTableA  
18  union all  
19  select val1,val2,val3 from tagTableB  
例子:
INSERT INTO [oa].[dbo].[dictTable]
           ([dictname]
           ,[dictkey]
           ,[dictvalue]
           ,[showorder])
     
select'sx_xmlb','XM1','项目类别1',101
union all select'sx_xmlb','XM2','项目类别2',102
union all select'sx_xmlb','XM3','项目类别3',103
union all select'sx_xmlb','XM4','项目类别4',104
或者这种也行
--插入一条数据使用DEFAULT关键字
INSERT INTO Student(StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate,Email)
Values('001','12345','张三','男',1,'1234567890123',DEFAULT,'2012-10-01','ABC@126.COM')
 
--插入多条数据使用DEFAULT关键字(第一种方法)
INSERT INTO Student  www.2cto.com  (StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate,Email)
VALUES('002','12345','李四','男',1,'1234567890123',DEFAULT,'2012-10-01','ABC@126.COM'),
 
('003','12345','王五','男',1,'1234567890123',DEFAULT,'2012-10-01','ABC@126.COM')
--插入多条数据使用DEFAULT关键字(第二种方法,不要将默认列名写出,在UNION后面加上all,最后一行不加)
 
INSERT INTO Student(StudentNo,LoginPwd,StudentName,Sex,GradeId,Phone,BornDate,Email)
SELECT '004','12345','马六','男',1,'1234567890123','2012-10-01','ABC@126.COM' UNION all
SELECT '005','12345','杜七','男',1,'1234567890123','2012-10-01','ABC@126.COM'
posted @ 2012-12-06 09:44  史红星-shihongxing  阅读(463)  评论(0)    收藏  举报