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怎样批量更新数据表中某字段的值?的主要内容,如果未能解决你的问题,请参考以下文章

oracle批量更新的问题

某些字段的 PHP Codeigniter 批量更新失败

mysql批量更新数据,即:循环select记录然后更新某一字段

两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待。)

oracle 怎样使UPDATE 更新序列??

Oracle 批量更新表字段