insert into 语句怎么写?(Sqlserver)
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
插入书写方式:
1、INSERTINTOt1(field1,field2) VALUE(‘001‘,‘002‘);
最好的做法明确插入的每一列,列于查错,而且漏列的几率会降低。
2、INSERTINTOt1(field1,field2)values(‘001‘,‘002‘),(‘003‘,‘004‘)......;
能够批量插入数据最好批量插入,但是数据过于庞大时,最好分批次批量插入。
3、INSERTINTOt2(field1,field2)SELECTcol1,col2FROMt1WHERE??;
这里由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活,但我们也必须注意,在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入。
容易出错的地方,当我们写成如下方式3的变形简写格式:
变形: INSERTINTOt2SELECTid,name,addressFROMt1。
此时,如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序必须和目标表中的列的定义顺序完全一致才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。
扩展资料
[WITH<common_table_expression>[,...n]]INSERT{ [TOP(expression)[PERCENT]]
[INTO]
{<object>|rowset_function_limited
[WITH(<Table_Hint_Limited>[...n])]
}
{ [(column_list)]
[<OUTPUTClause>]
{VALUES({DEFAULT|NULL|expression}[,...n])[,...n ]
|derived_table
|execute_statement
|<dml_table_source>
|DEFAULTVALUES
}
}
}[;]
在该结构中,INSERT为该语句的实际操作,INTO关键字无真正含义,目的是为增强这个语句的可读性。INTO关键字为可选,建议在语句中加入该关键字。在使用EntityFramework添加数据时,执行的INSERT语句是没有使用INTO关键字的。
参考资料来源: