On Unix, table names are case sensitive. On Windows, they are not. Fun, isn’t it? Kinda like their respective file systems. Do you think it’s a coincidence?
In other words, if you are developing on Windows but planning on deploying to a Linux machine, better test your SQL against a Linux-based MySQL too, or be prepared for mysterious “table not found” errors at prod time. VMs are cheap these days.
Field (column) names are case-insensitive regardless.
EDIT: we’re talking about the operating system on the MySQL server machine, not client.