# pandas.read_sql

`pandas.``read_sql`(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)

  Read SQL query or database table into a DataFrame.

  Parameters:

  sql : string SQL query or SQLAlchemy Selectable (select or text object)

  > to be executed, or database table name.

  con : SQLAlchemy connectable(engine/connection) or database string URI

  > or DBAPI2 connection (fallback mode) Using SQLAlchemy makes it possible to use any DB supported by that library. If a DBAPI2 object, only sqlite3 is supported.

  index_col : string or list of strings, optional, default: None

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

  coerce_float : boolean, default True

  > Attempt to convert values to non-string, non-numeric objects (like decimal.Decimal) to floating point, useful for SQL result sets

  params : list, tuple or dict, optional, default: None

  > List of parameters to pass to execute method. The syntax used to pass parameters is database driver dependent. Check your database driver documentation for which of the five syntax styles, described in PEP 249’s paramstyle, is supported. Eg. for psycopg2, uses %(name)s so use params={‘name’ : ‘value’}

  parse_dates : list 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

  columns : list, default: None

  > List of column names to select from sql table (only used when reading a table).

  chunksize : int, default None

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

  Returns: | DataFrame

  See also

  `read_sql_table`
    Read SQL database table into a DataFrame
  `read_sql_query`
    Read SQL query into a DataFrame

  Notes

  This function is a convenience wrapper around `read_sql_table` and `read_sql_query` (and for backward compatibility) and will delegate to the specific function depending on the provided input (database table name or sql query). The delegated function might have more specific notes about their functionality not listed here.