If I have field names called category_id and Category_Id, are they different?
And if I have table name called category and Category, are they different?
If I have field names called category_id and Category_Id, are they different?
And if I have table name called category and Category, are they different?
No, table and row names are not case-sensitive, and even SQL statements aren't.
So, the names you gave as example are identical
Edit:
It depends on server collation. So you have to check the settings. Not related to OS.
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?
Caveat: it probably depends on table type; 'twas MyISAM in my case.
Field names are case-insensitive regardless.
For database and table names, it depends on the underlying operating system. See 8.2.2. Identifier Case Sensitivity
You might find this necessary to read. It is possible to set the case sensitivity in MySQL but it really is only a problem when you work in multiple environments.