Error Messages;
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")
The error message is like this, which means that my SQL syntax is wrong
Today, when pandas was connecting to the MySQL database, there was an error in the last run
Source code:
from sqlalchemy import create_engine
def query(table):
host = 'localhost'
user = 'root'
password = '123456'
database = 'ConstructionDB'
port = 3306
conn = create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(user, password, host, port, database))
sql = 'select * from' + table
results = pd.read_sql(sql, conn)
return results
Through debugging, it is found that there is no space in the original SQL statement when it is spliced, resulting in the last syntax of SQL
sql = [select * fromt_user]
Solved it!
def query(table):
host = 'localhost'
user = 'root'
password = '123456'
database = 'ConstructionDB'
port = 3306
conn = create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(user, password, host, port, database))
sql = 'select * from' +' ' + table
results = pd.read_sql(sql, conn)
return results
Pay attention to the SQL statement and splice a space in the middle of the code. The problem is solved