A Table object can be created with the
table() factory method:
table = database.table("my_table_id")
if table.exists():
print("Table with ID 'my_table' exists.")
else:
print("Table with ID 'my_table' does not exist."
Getting the Table Schema
Use the schema property to inspect
the columns of a table as a list of
Field objects.
for field in table.schema
# `field` is a `Field` object.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["Version latestkeyboard_arrow_down\n\n- [3.57.0 (latest)](/python/docs/reference/spanner/latest/table-usage)\n- [3.56.0](/python/docs/reference/spanner/3.56.0/table-usage)\n- [3.55.0](/python/docs/reference/spanner/3.55.0/table-usage)\n- [3.54.0](/python/docs/reference/spanner/3.54.0/table-usage)\n- [3.53.0](/python/docs/reference/spanner/3.53.0/table-usage)\n- [3.52.0](/python/docs/reference/spanner/3.52.0/table-usage)\n- [3.51.0](/python/docs/reference/spanner/3.51.0/table-usage)\n- [3.50.1](/python/docs/reference/spanner/3.50.1/table-usage)\n- [3.46.0](/python/docs/reference/spanner/3.46.0/table-usage)\n- [3.45.0](/python/docs/reference/spanner/3.45.0/table-usage)\n- [3.44.0](/python/docs/reference/spanner/3.44.0/table-usage)\n- [3.43.0](/python/docs/reference/spanner/3.43.0/table-usage)\n- [3.42.0](/python/docs/reference/spanner/3.42.0/table-usage)\n- [3.41.0](/python/docs/reference/spanner/3.41.0/table-usage)\n- [3.40.1](/python/docs/reference/spanner/3.40.1/table-usage)\n- [3.39.0](/python/docs/reference/spanner/3.39.0/table-usage)\n- [3.38.0](/python/docs/reference/spanner/3.38.0/table-usage)\n- [3.37.0](/python/docs/reference/spanner/3.37.0/table-usage)\n- [3.36.0](/python/docs/reference/spanner/3.36.0/table-usage)\n- [3.35.1](/python/docs/reference/spanner/3.35.1/table-usage)\n- [3.34.0](/python/docs/reference/spanner/3.34.0/table-usage)\n- [3.33.0](/python/docs/reference/spanner/3.33.0/table-usage)\n- [3.32.0](/python/docs/reference/spanner/3.32.0/table-usage)\n- [3.31.0](/python/docs/reference/spanner/3.31.0/table-usage)\n- [3.30.0](/python/docs/reference/spanner/3.30.0/table-usage)\n- [3.29.0](/python/docs/reference/spanner/3.29.0/table-usage)\n- [3.28.0](/python/docs/reference/spanner/3.28.0/table-usage)\n- [3.27.1](/python/docs/reference/spanner/3.27.1/table-usage)\n- [3.26.0](/python/docs/reference/spanner/3.26.0/table-usage)\n- [3.25.0](/python/docs/reference/spanner/3.25.0/table-usage)\n- [3.24.0](/python/docs/reference/spanner/3.24.0/table-usage)\n- [3.23.0](/python/docs/reference/spanner/3.23.0/table-usage)\n- [3.22.2](/python/docs/reference/spanner/3.22.2/table-usage)\n- [3.21.0](/python/docs/reference/spanner/3.21.0/table-usage)\n- [3.20.0](/python/docs/reference/spanner/3.20.0/table-usage)\n- [3.19.0](/python/docs/reference/spanner/3.19.0/table-usage)\n- [3.18.0](/python/docs/reference/spanner/3.18.0/table-usage)\n- [3.17.0](/python/docs/reference/spanner/3.17.0/table-usage)\n- [3.16.0](/python/docs/reference/spanner/3.16.0/table-usage)\n- [3.15.1](/python/docs/reference/spanner/3.15.1/table-usage)\n- [3.14.1](/python/docs/reference/spanner/3.14.1/table-usage)\n- [3.13.0](/python/docs/reference/spanner/3.13.0/table-usage)\n- [3.12.1](/python/docs/reference/spanner/3.12.1/table-usage)\n- [3.11.1](/python/docs/reference/spanner/3.11.1/table-usage)\n- [3.10.0](/python/docs/reference/spanner/3.10.0/table-usage)\n- [3.9.0](/python/docs/reference/spanner/3.9.0/table-usage)\n- [3.8.0](/python/docs/reference/spanner/3.8.0/table-usage)\n- [3.7.0](/python/docs/reference/spanner/3.7.0/table-usage)\n- [3.6.0](/python/docs/reference/spanner/3.6.0/table-usage)\n- [3.5.0](/python/docs/reference/spanner/3.5.0/table-usage)\n- [3.4.0](/python/docs/reference/spanner/3.4.0/table-usage)\n- [3.3.0](/python/docs/reference/spanner/3.3.0/table-usage)\n- [3.2.0](/python/docs/reference/spanner/3.2.0/table-usage)\n- [3.1.0](/python/docs/reference/spanner/3.1.0/table-usage)\n- [3.0.0](/python/docs/reference/spanner/3.0.0/table-usage)\n- [2.1.1](/python/docs/reference/spanner/2.1.1/table-usage)\n- [2.0.0](/python/docs/reference/spanner/2.0.0/table-usage)\n- [1.19.3](/python/docs/reference/spanner/1.19.3/table-usage)\n- [1.18.0](/python/docs/reference/spanner/1.18.0/table-usage)\n- [1.17.1](/python/docs/reference/spanner/1.17.1/table-usage)\n- [1.16.0](/python/docs/reference/spanner/1.16.0/table-usage)\n- [1.15.1](/python/docs/reference/spanner/1.15.1/table-usage)\n- [1.14.0](/python/docs/reference/spanner/1.14.0/table-usage)\n- [1.13.0](/python/docs/reference/spanner/1.13.0/table-usage)\n- [1.12.0](/python/docs/reference/spanner/1.12.0/table-usage)\n- [1.11.0](/python/docs/reference/spanner/1.11.0/table-usage)\n- [1.10.0](/python/docs/reference/spanner/1.10.0/table-usage) \n\nTable Admin Usage\n=================\n\nAfter creating an [`Database`](/python/docs/reference/spanner/latest/spanner_v1/database#google.cloud.spanner_v1.database.Database), you can\ninteract with individual tables for that instance.\n\nList Tables\n-----------\n\nTo iterate over all existing tables for an database, use its\n[`list_tables()`](/python/docs/reference/spanner/latest/spanner_v1/database#google.cloud.spanner_v1.database.Database.list_tables) method: \n\n for table in database.list_tables():\n # `table` is a `Table` object.\n\nThis method yields [`Table`](/python/docs/reference/spanner/latest/spanner_v1/table#google.cloud.spanner_v1.table.Table) objects.\n\nTable Factory\n-------------\n\nA [`Table`](/python/docs/reference/spanner/latest/spanner_v1/table#google.cloud.spanner_v1.table.Table) object can be created with the\n[`table()`](/python/docs/reference/spanner/latest/spanner_v1/database#google.cloud.spanner_v1.database.Database.table) factory method: \n\n table = database.table(\"my_table_id\")\n if table.exists():\n print(\"Table with ID 'my_table' exists.\")\n else:\n print(\"Table with ID 'my_table' does not exist.\"\n\nGetting the Table Schema\n------------------------\n\nUse the [`schema`](/python/docs/reference/spanner/latest/spanner_v1/table#google.cloud.spanner_v1.table.Table.schema) property to inspect\nthe columns of a table as a list of\n[`Field`](/python/docs/reference/spanner/latest/spanner_v1/types_#google.cloud.spanner_v1.types.StructType.Field) objects. \n\n for field in table.schema\n # `field` is a `Field` object."]]