cmd.exe and the variety of UN*X shells are all command-line shellscommand-line shells. They all allow you to execute commands.
All support:
- some form of input/output redirection from/to commands
- some form of piping
- setting environment variables
- a set of programmatic constructs, e.g. loops and if/else
And all can be scripted, executing shell commands from a file.
However, the cmd.exe shell is pretty primitive compared to it's UNX counterparts. The UNX shells typically support e.g. more complex string manipulation, and the set of system commands available on UN*X machines makes for a richer programming experience.
The mysql program is also a command-line shell, only one that is specific to interacting with a MySQL server using mainly SQL commands.
As has been pointed out, the term shell can be more generally used to refer to a tool that provides access to the services of a system, for instance a desktop user interface including a task bar, application switcher, etc. cf. the wikipedia article for Shell (computing)