xorbits.pandas.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, chunksize=None, test_rows=5, chunk_size=None, engine_kwargs=None, incremental_index=True, use_arrow_dtype=None, partition_col=None, num_partitions=None, low_limit=None, high_limit=None)[source]#

Read SQL query into a DataFrame.

Returns a DataFrame corresponding to the result set of the query string. Optionally provide an index_col parameter to use one of the columns as the index, otherwise default integer index will be used.

  • sql (str SQL query or SQLAlchemy Selectable (select or text object)) – SQL query to be executed.

  • con (SQLAlchemy connectable, str, or sqlite3 connection) – Using SQLAlchemy makes it possible to use any DB supported by that library. If a DBAPI2 object, only sqlite3 is supported.

  • index_col (str or list of str, optional, default: None) – Column(s) to set as index(MultiIndex).

  • coerce_float (bool, default True) – Attempts to convert values of non-string, non-numeric objects (like decimal.Decimal) to floating point. Useful for SQL result sets.

  • params (list, tuple or mapping, 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.

  • chunksize (int, default None) – If specified, return an iterator where chunksize is the number of rows to include in each chunk.

  • dtype (Type name or dict of columns (Not supported yet)) –

    Data type for data or columns. E.g. np.float64 or {‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’}.

    New in version 1.3.0(pandas).

  • dtype_backend ({'numpy_nullable', 'pyarrow'}, default 'numpy_nullable' (Not supported yet)) –

    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(pandas).

Return type

DataFrame or Iterator[DataFrame]

See also


Read SQL database table into a DataFrame.


Read SQL query or database table into a DataFrame.


Any datetime values with time zone information parsed via the parse_dates parameter will be converted to UTC.


>>> from sqlalchemy import create_engine  
>>> engine = create_engine("sqlite:///database.db")  
>>> with engine.connect() as conn, conn.begin():  
...     data = pd.read_sql_table("data", conn)  

This docstring was copied from pandas.