首先我们的测试表是一条数据都没有的。
02要用一条数据就插入多条数据,我们也是可以用insert into语句来处理的,我们只要在values里指定多条记录的值就行了,每条记录间用逗号来隔开就行。代码如图
03执行这条语句后,我们从执行结果上看,也可以看到插入了三条数据。
04再看到这个表里的数据,看是不是插入了三条新的数据。
从图中可以看到,确实有3条数据。
可以一次加入多条记录。在SQL
SERVER里边,多个INSERT
语句之间,用分号()或者空格,隔开,这样数据库就认为你是在进行多条SQL语句的插入 *** 作。就可以插入多条了。
在使用SQL数据库的时候,我们也许会需要一次像数据库中添加多条记录,那么我们可以使用SQL语句来实现,该语句具体如下:\x0d\x0a--添加一条记录\x0d\x0aINSERT INTO tableName(col1,col2,col3) VALUES (1,2,3)\x0d\x0a \x0d\x0a--添加多条记录\x0d\x0aINSERT INTO tableName(col1,col2,col3)\x0d\x0aSELECT 3,4,5\x0d\x0aUNION ALL \x0d\x0aSELECT 6,7,8\x0d\x0a \x0d\x0a--从另外的一张表中读取多条数据添加到新表中\x0d\x0aINSERT INTO tableName(col1,col2,col3) \x0d\x0aSELECT a,b,c FROM tableA\x0d\x0a \x0d\x0a--从其他的多张表中读取数据添加到新表中\x0d\x0aINSERT INTO tableName(col1,col2,col3)\x0d\x0aSELECT a,b,c FROM tableA WHERE a=1\x0d\x0aUNION ALL \x0d\x0aSELECT a,b,c FROM tableB WHERE a=2 \x0d\x0a上边代码中的into都可以省略!\x0d\x0a上边代码中的union all如果换成union,则相同记录只插入一次,不会重复插入。\x0d\x0a另外一种方法是SQL Server2008特有的,所以,如果你不是SQL Server2008,就不能使用这种方法了。 \x0d\x0aINSERT INTO MyTable(ID,NAME)VALUES(7,'003'),(8,'004'),(9,'005')\x0d\x0acreate table [TEST]\x0d\x0a(\x0d\x0a [NUM_ID] int primary key\x0d\x0a)\x0d\x0ago\x0d\x0adeclare @temp int\x0d\x0aset @temp=1\x0d\x0awhile @temp 回答于 2022-12-11欢迎分享,转载请注明来源:内存溢出
评论列表(0条)