How can I offer website tabular data from MySQL in a CSV file? [migrated]

I have a website which offers data in tabular form and is displayed across 7 columns. At the backend, data is stored in MySQL.

Site visitors have been demanding that data be made available for download in CSV file, and I am OK to offer that feature.

What is the best way to offer a limited number of columns (say 3 out of 7 columns) with a one-click download into CSV file?

Note: this question is NOT about site visitors scrapping data, but about a webmaster willingly offering option to download data in a CSV file.