SQL批量新增

该博客内容涉及使用SQL进行批量数据插入,主要针对地理信息系统的数据操作,如LineString类型的几何数据插入,以及与之相关的timestamp和唯一标识uuid的操作。博客探讨了如何在数据库中高效地管理和操作这类特殊数据。

备忘&分享

 @Insert({
	  "<script> ",
	  "  insert into adas_2yy(trackid,uuid,geom,namec,ts) ",
	  "  VALUES " ,
	  " <foreach collection='toyy' item='item' index='index' separator=','> ",
	  " ((${item.trackId}, ",
	  " #{item.uuid}, ",
	  " ST_GeomFromText( 'LineString(${item.geom})'), ",
	  " #{item.namec}, ",
	  " #{item.ts}) ",
	  " </foreach> ",
	  " </script> "
	  })
### SQL批量更新操作 在SQL中实现批量更新操作通常有几种不同的方式。一种常见的方式是通过`UPDATE ... SET ... WHERE IN (...)`语句来完成多条记录的同时更新。这种方式适用于需要基于某些字段值匹配来进行更新的情况。 另一种更高效的方法是在支持该特性的数据库管理系统(DBMS)中使用`MERGE INTO`或者批处理命令[^1]。对于MySQL而言,还可以利用`ON DUPLICATE KEY UPDATE`特性,在插入新数据时如果发现唯一键冲突,则自动触发更新逻辑而不是抛出异常中断事务。 当涉及到大量数据的操作时,建议采用存储过程配合循环结构逐批次提交更改以减少锁表时间并提高性能;另外也可以考虑临时表方案先加载待修改的数据集再做整体变更[^2]。 下面给出一段Python环境下使用PyMySQL库连接MySql数据库执行批量更新的例子: ```python import pymysql conn = pymysql.connect(host='localhost', user='root', password='', db='test') try: with conn.cursor() as cursor: sql = """ INSERT INTO table_name (id, col_to_update) VALUES (%s,%s) ON DUPLICATE KEY UPDATE col_to_update=VALUES(col_to_update); """ data_list = [ ('key_001','value_a'), ('key_002','value_b'), ... ] result = cursor.executemany(sql,data_list) finally: conn.close() ``` 此段代码展示了如何一次性向指定表格插入多组键值对,并且当主键重复时则改为更新对应列的内容。这种方法不仅简化了编程模型还增强了安全性[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值