pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None, dtype_backend=_NoDefault.no_default)[source]#

Read SQL database table into a DataFrame.

Given a table name and a SQLAlchemy connectable, returns a DataFrame. This function does not support DBAPI connections.


Name of SQL table in database.

conSQLAlchemy connectable or str

A database URI could be provided as str. SQLite DBAPI connection mode not supported.

schemastr, default None

Name of SQL schema in database to query (if database flavor supports this). Uses default schema if None (default).

index_colstr or list of str, optional, default: None

Column(s) to set as index(MultiIndex).

coerce_floatbool, default True

Attempts to convert values of non-string, non-numeric objects (like decimal.Decimal) to floating point. Can result in loss of Precision.

parse_dateslist or dict, default None
  • List of column names to parse as dates.

  • Dict of {column_name: format string} where format string is strftime compatible in case of parsing string times or is one of (D, s, ns, ms, us) in case of parsing integer timestamps.

  • Dict of {column_name: arg dict}, where the arg dict corresponds to the keyword arguments of pandas.to_datetime() Especially useful with databases without native Datetime support, such as SQLite.

columnslist, default None

List of column names to select from SQL table.

chunksizeint, default None

If specified, returns an iterator where chunksize is the number of rows to include in each chunk.

dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’

Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:

  • "numpy_nullable": returns nullable-dtype-backed DataFrame (default).

  • "pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.

New in version 2.0.

DataFrame or Iterator[DataFrame]

A SQL table is returned as two-dimensional data structure with labeled axes.

See also


Read SQL query into a DataFrame.


Read SQL query or database table into a DataFrame.


Any datetime values with time zone information will be converted to UTC.


>>> pd.read_sql_table('table_name', 'postgres:///db_name')