在使用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
不同数据库之间略有不同,以几大主流数据库(oracle,sqlserver,mysql)为例。
oracle(以插入三条为例),结尾分号不可省略,否则会报错。
insert into test values (1,'张三')
insert into test values (2,'李四')
insert into test values (3,'王五')
sqlserver(以插入三条为例),语法同oracle,但结尾分号可有可无。
mysql(以插入三条为例),语法同前两者,结尾分号不可省,但还有其他方法,代码如下:
insert into test values (1,'张三'),(2,'李四'),(3,'王五')
在EXCEL中有可以用数据菜单中的记录单为数据库形式的表一条一条的添加记录.在ACCESS中,也可以用对话框一条条的添加记录.能不能设计一个大点的添加记录的表,一次性为数据库添加多条记录.比如,在数据库中保存了每个贷款户每次偿还贷款的记录,这些贷款户因为都属于同一个村,每月偿还贷款的时间,偿还金额都是一样的,这此贷款户每月变化也不大.所以如果能按村或按乡等做为一个记录单,涉及到的选中.还款金额,日期都相同.再比如为每个职工每月交纳的养老保险基本上都相同,能不用一个记录单输入但查询时能按人按月查询.能有这方面的实例最好.
评论列表(0条)