1:read_sql_query()

读取自定义数据(通过SQL语句)

import pandas as pd
pd.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None,chunksize=None)

read_sql_query()中可以接受SQL语句,包括增删改查。DELETE,INSERT INTO、UPDATE操作没有返回值(但是会在数据库中执行),程序会抛出SourceCodeCloseError,并终止程序。SELECT会返回结果。如果想继续运行,可以try捕捉此异常。

例如:data = pd.read_sql_query('select * from tableName ',con = engine),会返回一个数据库表名为tableName的DataFrame格式。

例如:data = pd.read_sql_query('delete from tableName  where time > '2020',con = engine),这条语句会执行,删除表明为 tableName的表中 time > '2020'的值,但不会返回data。

2:pd.read_sql_table()

读取整张表于DataFrame格式(通过表名)

import pandas as pd
pd.read_sql_table(table_name, con

, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None)

3:pd.read_sql()

读数据库(通过SQL语句或者表名)

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

总结:read_sql综合了read_sql_table和read_sql_query,所以一般用read_sql就好了,避免区别