Không, SQL không cung cấp cho bạn bất kỳ cú pháp nào để thực hiện một lựa chọn như vậy.
Những gì bạn có thể làm là yêu cầu MySQL cung cấp danh sách tên cột trước tiên, sau đó tạo truy vấn SQL từ thông tin đó.
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'your_table'
AND column_name LIKE 'word%'
chúng ta hãy chọn tên cột. Sau đó, bạn có thể làm, bằng Python:
"SELECT * FROM your_table WHERE " + ' '.join(['%s = 1' % name for name in columns])
Thay vì sử dụng nối chuỗi, tôi khuyên bạn nên sử dụng SQLAlchemy thay vào đó để tạo SQL cho bạn.
Tuy nhiên, nếu tất cả những gì bạn đang làm là giới hạn số lượng cột thì không cần phải thực hiện một truy vấn động như thế này. Công việc khó khăn cho cơ sở dữ liệu là chọn các hàng; việc gửi cho bạn 5 cột trong số 10 hoặc tất cả là 10.
Trong trường hợp đó, chỉ cần sử dụng "SELECT * FROM ..."
và sử dụng Python để chọn ra các cột từ tập kết quả.