Delete Rows (Data Management)
Deletes all or the selected subset of rows from the input.
If the input rows are from a feature class or table, all rows will be deleted. If the input rows are from a layer or table view with no selection, all rows will be deleted.
The Input Rows parameter can be an INFO or dBASE table, ArcSDE, file, or personal geodatabase table or feature class, shapefile, layer, or table view.
If this tool is used on feature data, the entire row, including the geometry, will be deleted.
If a layer or table view is input, and the layer or table view does not have a selection, all rows will be deleted. If a table is input, all rows will be deleted. If the table resides in ArcSDE, a database truncate operation will be used when run against a table, a feature class, a table view without a selection, or a feature layer without a selection. A database truncate operation is much faster than deleting row by row. Truncate operations cannot be rolled back and cannot be recovered or undone using undo/redo.
When working in ArcMap and using a layer or table view with a selection as input, using this tool in an edit session will allow for the Delete Rows operation to be undone using undo/redo.Caution:
If run against a layer or table view that does not have a selection, the operation cannot be undone using undo/redo.
The feature class, layer, table, or table view whose rows will be deleted.
The following Python window script demonstrates how to use the DeleteRows function in immediate mode.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.CopyRows_management("accident.dbf", "C:/output/accident2.dbf") arcpy.DeleteRows_management("C:/output/accident2.dbf")
The following stand-alone script demonstrates how to use the DeleteRows function to delete rows based on an expression.
# Name: DeleteRows_Example2.py # Description: Delete rows from a table based on an expression # Import system modules import arcpy from arcpy import env try: # Set environment settings env.workspace = "C:/data" # Set local variables inTable = "accident.dbf" outTable = "C:/output/new_accident.dbf" tempTableView = "accidentTableView" expression = arcpy.AddFieldDelimiters(tempTableView, "Measure") + " = 0" # Execute CopyRows to make a new copy of the table arcpy.CopyRows_management(inTable, outTable) # Execute MakeTableView arcpy.MakeTableView_management(outTable, tempTableView) # Execute SelectLayerByAttribute to determine which rows to delete arcpy.SelectLayerByAttribute_management(tempTableView, "NEW_SELECTION", expression) # Execute GetCount and if some features have been selected, then execute # DeleteRows to remove the selected rows. if int(arcpy.GetCount_management(tempLayer).getOutput(0)) > 0: arcpy.DeleteRows_management(tempLayer) except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info() print "Line %i" % tb.tb_lineno print e.message