MySQL默认字符集

时间:2012-03-23 16:11:42

标签: mysql

MySQL是否以级联方式处理默认字符设置?

例如,我正在查看一个生成完整数据库的脚本,并从这样的语句开始:

CREATE SCHEMA IF NOT EXISTS `xyz` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

这是否意味着默认情况下,作为此数据库的一部分创建的所有表都将使用UTF8字符集?如果我想为给定的表使用不同的字符集,我只需要在CREATE TABLE语句中定义它?那是准确的吗?我可以覆盖特定表的特定字段吗?谢谢!

1 个答案:

答案 0 :(得分:1)

是。如果在数据库(模式)级别设置charset和collat​​ion,它将应用于该数据库中任何新创建的表,除非这些表在CREATE TABLE语句中指定了自己的charset / collat​​ion。

是的,您还可以在每个字段的基础上指定字符集/排序规则。 MySQL手册中的示例:

CREATE TABLE t1
(
    col1 VARCHAR(5)
      CHARACTER SET latin1
      COLLATE latin1_german1_ci
);