Delete Rows (Data Management)
Summary
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.
Usage
-
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.
Syntax
Parameter | Explanation | Data Type |
in_rows |
The feature class, layer, table, or table view whose rows will be deleted. | Table View |
Code Sample
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()[2] print "Line %i" % tb.tb_lineno print e.message