'Incorrect table name error' in sql query, though table name is correct
An error message about 'incorrect table name' is given by the input below, though the table name is correct. I get the impression that the real 'error' is the length of the sql statement, perhaps in combination with the underscores. The queries sql and sql5 below give an error message about incorrect tables, the other statements do not. All queries give the desired result when directly passed to the database.

``` python
import pandas as pd
from sqlalchemy import create_engine
db_conn = create_engine('mysql://user:pass@host/scheme')
sql = 'SELECT starttime_down, endtime_up_ms, endtime_down FROM recon_netflow042'
sql1 = 'SELECT endtime_up_ms, endtime_down FROM recon_netflow042'
sql2 = 'SELECT starttime_down, endtime_down FROM recon_netflow042'
sql3 = 'SELECT starttime_down, endtime_up_ms FROM recon_netflow042'
sql4 = 'SELECT endtime_up_ms, sip, dip, id, dp, sp FROM recon_netflow042'
sql5 = 'SELECT endtime_up_ms, endtime_down, sip, dip, id, dp, sp FROM recon_netflow042'

df = pd.read_sql(sql, db_conn)
df = pd.read_sql(sql1, db_conn)
df = pd.read_sql(sql2, db_conn)
df = pd.read_sql(sql3, db_conn)
df = pd.read_sql(sql4, db_conn)
df = pd.read_sql(sql5, db_conn)
```

Error message for sql; df=pd.read_sql(sql,cb_conn):

```
---------------------------------------------------------------------------
ProgrammingError                          Traceback (most recent call last)
<ipython-input-6-152f1c22f712> in <module>()
----> 1 df = pd.read_sql(sql, db_conn)

C:\Anaconda\lib\site-packages\pandas\io\sql.pyc in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns)
    421             coerce_float=coerce_float, parse_dates=parse_dates)
    422 
--> 423     if pandas_sql.has_table(sql):
    424         pandas_sql.meta.reflect(only=[sql])
    425         return pandas_sql.read_table(

C:\Anaconda\lib\site-packages\pandas\io\sql.pyc in has_table(self, name)
    847 
    848     def has_table(self, name):
--> 849         return self.engine.has_table(name)
    850 
    851     def get_table(self, table_name):

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in has_table(self, table_name, schema)
   1827 
   1828         """
-> 1829         return self.run_callable(self.dialect.has_table, table_name, schema)
   1830 
   1831     def raw_connection(self):

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in run_callable(self, callable_, *args, **kwargs)
   1731         """
   1732         with self.contextual_connect() as conn:
-> 1733             return conn.run_callable(callable_, *args, **kwargs)
   1734 
   1735     def execute(self, statement, *multiparams, **params):

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in run_callable(self, callable_, *args, **kwargs)
   1240 
   1241         """
-> 1242         return callable_(self, *args, **kwargs)
   1243 
   1244     def _run_visitor(self, visitorcallable, element, **kwargs):

C:\Anaconda\lib\site-packages\sqlalchemy\dialects\mysql\base.pyc in has_table(self, connection, table_name, schema)
   2346         try:
   2347             try:
-> 2348                 rs = connection.execute(st)
   2349                 have = rs.fetchone() is not None
   2350                 rs.close()

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in execute(self, object, *multiparams, **params)
    719         """
    720         if isinstance(object, util.string_types[0]):
--> 721             return self._execute_text(object, multiparams, params)
    722         try:
    723             meth = object._execute_on_connection

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _execute_text(self, statement, multiparams, params)
    868             statement,
    869             parameters,
--> 870             statement, parameters
    871         )
    872         if self._has_events or self.engine._has_events:

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _execute_context(self, dialect, constructor, statement, parameters, *args)
    956                 parameters,
    957                 cursor,
--> 958                 context)
    959 
    960         if self._has_events or self.engine._has_events:

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _handle_dbapi_exception(self, e, statement, parameters, cursor, context)
   1158                 util.raise_from_cause(
   1159                     sqlalchemy_exception,
-> 1160                     exc_info
   1161                 )
   1162             else:

C:\Anaconda\lib\site-packages\sqlalchemy\util\compat.pyc in raise_from_cause(exception, exc_info)
    197             exc_info = sys.exc_info()
    198         exc_type, exc_value, exc_tb = exc_info
--> 199         reraise(type(exception), exception, tb=exc_tb)
    200 
    201 if py3k:

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _execute_context(self, dialect, constructor, statement, parameters, *args)
    949                         statement,
    950                         parameters,
--> 951                         context)
    952         except Exception as e:
    953             self._handle_dbapi_exception(

C:\Anaconda\lib\site-packages\sqlalchemy\engine\default.pyc in do_execute(self, cursor, statement, parameters, context)
    434 
    435     def do_execute(self, cursor, statement, parameters, context=None):
--> 436         cursor.execute(statement, parameters)
    437 
    438     def do_execute_no_params(self, cursor, statement, context=None):

C:\Anaconda\lib\site-packages\MySQLdb\cursors.pyc in execute(self, query, args)
    203             del tb
    204             self.messages.append((exc, value))
--> 205             self.errorhandler(self, exc, value)
    206         self._executed = query
    207         if not self._defer_warnings: self._warning_check()

C:\Anaconda\lib\site-packages\MySQLdb\connections.pyc in defaulterrorhandler(***failed resolving arguments***)
     34     del cursor
     35     del connection
---> 36     raise errorclass, errorvalue
     37 
     38 re_numeric_part = re.compile(r"^(\d+)")

ProgrammingError: (ProgrammingError) (1103, "Incorrect table name 'SELECT starttime_down, endtime_up_ms, endtime_down FROM recon_netflow042'") 'DESCRIBE `SELECT starttime_down, endtime_up_ms, endtime_down FROM recon_netflow042`' ()
```

Error message for sql5; df=pd.read_sql(sql5,cb_conn):

```
---------------------------------------------------------------------------
ProgrammingError                          Traceback (most recent call last)
<ipython-input-11-039efdf529da> in <module>()
----> 1 df = pd.read_sql(sql5, db_conn)

C:\Anaconda\lib\site-packages\pandas\io\sql.pyc in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns)
    421             coerce_float=coerce_float, parse_dates=parse_dates)
    422 
--> 423     if pandas_sql.has_table(sql):
    424         pandas_sql.meta.reflect(only=[sql])
    425         return pandas_sql.read_table(

C:\Anaconda\lib\site-packages\pandas\io\sql.pyc in has_table(self, name)
    847 
    848     def has_table(self, name):
--> 849         return self.engine.has_table(name)
    850 
    851     def get_table(self, table_name):

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in has_table(self, table_name, schema)
   1827 
   1828         """
-> 1829         return self.run_callable(self.dialect.has_table, table_name, schema)
   1830 
   1831     def raw_connection(self):

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in run_callable(self, callable_, *args, **kwargs)
   1731         """
   1732         with self.contextual_connect() as conn:
-> 1733             return conn.run_callable(callable_, *args, **kwargs)
   1734 
   1735     def execute(self, statement, *multiparams, **params):

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in run_callable(self, callable_, *args, **kwargs)
   1240 
   1241         """
-> 1242         return callable_(self, *args, **kwargs)
   1243 
   1244     def _run_visitor(self, visitorcallable, element, **kwargs):

C:\Anaconda\lib\site-packages\sqlalchemy\dialects\mysql\base.pyc in has_table(self, connection, table_name, schema)
   2346         try:
   2347             try:
-> 2348                 rs = connection.execute(st)
   2349                 have = rs.fetchone() is not None
   2350                 rs.close()

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in execute(self, object, *multiparams, **params)
    719         """
    720         if isinstance(object, util.string_types[0]):
--> 721             return self._execute_text(object, multiparams, params)
    722         try:
    723             meth = object._execute_on_connection

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _execute_text(self, statement, multiparams, params)
    868             statement,
    869             parameters,
--> 870             statement, parameters
    871         )
    872         if self._has_events or self.engine._has_events:

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _execute_context(self, dialect, constructor, statement, parameters, *args)
    956                 parameters,
    957                 cursor,
--> 958                 context)
    959 
    960         if self._has_events or self.engine._has_events:

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _handle_dbapi_exception(self, e, statement, parameters, cursor, context)
   1158                 util.raise_from_cause(
   1159                     sqlalchemy_exception,
-> 1160                     exc_info
   1161                 )
   1162             else:

C:\Anaconda\lib\site-packages\sqlalchemy\util\compat.pyc in raise_from_cause(exception, exc_info)
    197             exc_info = sys.exc_info()
    198         exc_type, exc_value, exc_tb = exc_info
--> 199         reraise(type(exception), exception, tb=exc_tb)
    200 
    201 if py3k:

C:\Anaconda\lib\site-packages\sqlalchemy\engine\base.pyc in _execute_context(self, dialect, constructor, statement, parameters, *args)
    949                         statement,
    950                         parameters,
--> 951                         context)
    952         except Exception as e:
    953             self._handle_dbapi_exception(

C:\Anaconda\lib\site-packages\sqlalchemy\engine\default.pyc in do_execute(self, cursor, statement, parameters, context)
    434 
    435     def do_execute(self, cursor, statement, parameters, context=None):
--> 436         cursor.execute(statement, parameters)
    437 
    438     def do_execute_no_params(self, cursor, statement, context=None):

C:\Anaconda\lib\site-packages\MySQLdb\cursors.pyc in execute(self, query, args)
    203             del tb
    204             self.messages.append((exc, value))
--> 205             self.errorhandler(self, exc, value)
    206         self._executed = query
    207         if not self._defer_warnings: self._warning_check()

C:\Anaconda\lib\site-packages\MySQLdb\connections.pyc in defaulterrorhandler(***failed resolving arguments***)
     34     del cursor
     35     del connection
---> 36     raise errorclass, errorvalue
     37 
     38 re_numeric_part = re.compile(r"^(\d+)")

ProgrammingError: (ProgrammingError) (1103, "Incorrect table name 'SELECT endtime_up_ms, endtime_down, sip, dip, id, dp, sp FROM recon_netflow042'") 'DESCRIBE `SELECT endtime_up_ms, endtime_down, sip, dip, id, dp, sp FROM recon_netflow042`' ()
```
