PHP怎样批量更新数据表中某字段的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP怎样批量更新数据表中某字段的值?相关的知识,希望对你有一定的参考价值。
比如,有一个字段是num,当有1万条数据需要执行num=num+1的操作,如果一条一条UPDATE是不是会很费时间,有没有批量更新的方法,只需要一条UPDATE语句就可以了?
有啊,只要where后面的条件把握好就行了,把握不好,可能数据就苦逼了,所有:update table1 set num=num+1
条件(num不等于0):update table1 set num=num+1 where num<>0 参考技术A 假如表名是 table_name
执行
update table_name set num=num+1; 参考技术B 在UPDATE的WHERE 条件上加上能匹配上这1万条的条件就行了。
python批量删除shapefile文件中某字段的指定属性值
一、实现目标
删除shapefile文件某个字段中满足特定条件的要素,主要用于数据筛选。
使用到的python库为gdal,比如本文中删除testdata.shp文件中ANGLE字段属性=strValue的要素,属性表中每一行记录即为一个要素。
strFilter = "ANGLE = '" + str(strValue) + "'"
Python具体实现代码如下:
from osgeo import gdal
#打开是矢量文件
#注册所有驱动
from osgeo import ogr
gdal.AllRegister()
#解决中文路径乱码问题
gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO")
driver = ogr.GetDriverByName('ESRI Shapefile')
pFeatureDataset = driver.Open(r'C:/Users/administrator/Desktop/testdata.shp',1) #英文路径
pFeaturelayer = pFeatureDataset.GetLayer(0)
#按条件查询空间要素,本例查询字段名为Value,字段值为0的所有要素。
strValue = 1
strFilter = "ANGLE = '" + str(strValue) + "'"
pFeaturelayer.SetAttributeFilter(strFilter)
#删除第二部查询到的矢量要素,注意,此时获取到的Feature皆为选择的Feature.
pFeatureDef = pFeaturelayer.GetLayerDefn()
pLayerName = pFeaturelayer.GetName()
pFieldName = "ANGLE"
pFieldIndex = pFeatureDef.GetFieldIndex(pFieldName)
for pFeature in pFeaturelayer:
pFeatureFID = pFeature.GetFID()
pFeaturelayer.DeleteFeature(int(pFeatureFID))
strSQL = "REPACK " + str(pFeaturelayer.GetName())
pFeatureDataset.ExecuteSQL(strSQL, None, "");
pFeatureLayer = None
pFeatureDataset = None
以上是关于PHP怎样批量更新数据表中某字段的值?的主要内容,如果未能解决你的问题,请参考以下文章
mysql批量更新数据,即:循环select记录然后更新某一字段