sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fromt_user' at line 1")
报错是这样的,意思就是我的sql语法出错了
今天在弄pandas连接mysql数据库的时候,最后运行时出错了
源代码:
from sqlalchemy import create_enginedef query(table):host = 'localhost'user = 'root'password = '123456'database = 'ConstructionDB'port = 3306conn = create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(user, password, host, port, database))sql = 'select * from' + tableresults = pd.read_sql(sql, conn)return results
通过debug发现,原来sql语句在拼接的时候没有空格,导致sql最后的语法时
sql = [select * fromt_user]
沾一块去了
def query(table):host = 'localhost'user = 'root'password = '123456'database = 'ConstructionDB'port = 3306conn = create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(user, password, host, port, database))sql = 'select * from' +' ' + tableresults = pd.read_sql(sql, conn)return results
注意sql语句,把代码中间 拼接一个空格 即可,问题解决