The MySQL manual says:
CREATE DATABASE db_name [[DEFAULT] CHARACTER SET charset_name] [[DEFAULT] COLLATE collation_name] ALTER DATABASE db_name [[DEFAULT] CHARACTER SET charset_name] [[DEFAULT] COLLATE collation_name]
The database character set and collation are used as default values for table definitions if the table character set and collation are not specified in CREATE TABLE statements.
Someone made a point in the comments, saying:
It's not at all clear what difference it makes to specify DEFAULT or to omit it. So if you specify DEFAULT then that charset becomes the default for tables for which you don't specify an explicit charset. But what if you omit DEFAULT? Does that prevent tables from using a different charset from the database? This should really be explained above.
Does it make any difference if the
DEFAULT keyword is specified, or are
CHARACTER SET and
DEFAULT CHARACTER SET just exact synonyms?