不,SQL不提供任何语法来进行此类选择。
您 可以 做的是先要求MySQL提供列名列表,然后根据该信息生成SQL查询。
SELECt column_nameFROM information_schema.columnsWHERe table_name = 'your_table' AND column_name LIKE 'word%'
让我们选择列名称。然后,您可以在Python中执行以下操作:
"SELECt * FROM your_table WHERe " + ' '.join(['%s = 1' % name for name in columns])
我建议不要使用字符串连接,而建议使用SQLAlchemy来为您生成SQL。
但是,如果您要做的只是限制列数,则根本不需要执行这样的动态查询。数据库的艰苦工作是选择行。在10列或10列中发送5列几乎没有什么区别。
在这种情况下,只需使用,
"SELECt * FROM ..."然后使用Python从结果集中选择列即可。



