As the comments already show. Why in the world would you want 800 columns? Seems like a mayor flaw in your database structure. Perhaps you can explain what you want to store so we can help you to setup a proper structure. 800 (random!) columns can never be what you want.
If you do plan to keep this structure, you could use SHOW COLUMNS FROM mydb.mytable WHERE FIELD='newcolname'
to see if it already exists.
But I highly recomment to reconsider your database model. How are you even selecting things from it since its random columns? You always use select * and then loop trough all cols?