CHARSET=utf8mb4 与 CHARACTER set utf8mb4
时间: 2023-08-23 14:07:29 浏览: 75
在MySQL中,"CHARSET=utf8mb4"和"CHARACTER set utf8mb4"都是设置数据库或表的字符集为utf8mb4的语法。这两种语法都可以用来指定字符集,只是语法稍有不同。"CHARSET=utf8mb4"是在创建数据库时使用的语法,例如:
CREATE DATABASE <db_name> DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
相关问题
CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci更改为DEFAULT CHARSET=utf8;的语句
您可以使用以下语句来更改字符集和排序规则:
```
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
```
请将 `table_name` 替换为您要更改字符集和排序规则的表的名称。在这个例子中,字符集被更改为 `utf8`,排序规则被更改为 `utf8_general_ci`。您可以根据需要将它们替换为其他字符集和排序规则。
ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC
这是MySQL中创建表时的一些参数设置,其中包括表的引擎类型、字符集、排序规则和行格式等。具体含义如下:
- ENGINE=InnoDB:指定表的存储引擎为InnoDB,它是MySQL的默认事务型存储引擎,支持ACID事务和行级锁等特性。
- AUTO_INCREMENT=11:指定表的自增长起始值为11,即下一个插入的记录的主键值为11。
- DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci:指定表的字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci,即采用Unicode编码,支持存储4字节的字符,排序规则为根据字符的Unicode编码进行排序,忽略大小写和重音符号等差异。
- ROW_FORMAT=DYNAMIC:指定表的行格式为Dynamic,即动态行格式,它可以根据记录的大小自动选择使用COMPACT、REDUNDANT或者DYNAMIC行格式,以达到更好的存储效率。
下面是一个示例,演示如何创建一个使用上述参数的表:
```sql
CREATE TABLE `example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
```