一、示例
CREATE DATABASE pritice;
USE pritice;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
create table `user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 345 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
insert into user value (null,'xxxde','123')
二、解释
SET NAMES utf8mb4;
这条语句设置了数据库的字符集为utf8mb4
,这是一种支持更多Unicode字符的字符集,可以存储更多的字符,包括表情符号等。SET FOREIGN_KEY_CHECKS = 0;
这条语句关闭了外键约束检查。在某些情况下,为了提高性能或者避免因为外键约束而导致的错误,可能需要暂时关闭外键约束检查。但请注意,关闭外键约束可能会导致数据完整性问题,因此在完成相关操作后,建议重新开启外键约束检查。- ENGINE = InnoDB:指定了存储引擎为InnoDB。InnoDB是MySQL的一个事务安全的存储引擎,支持行级锁定和外键约束。
- AUTO_INCREMENT = 345:设置自增列的起始值为345。当插入新记录时,如果没有指定自增列的值,系统会自动分配一个大于当前最大值的整数
- CHARACTER SET = utf8mb4:设置字符集为utf8mb4,支持存储Unicode字符,包括emoji表情等。
- COLLATE = utf8mb4_general_ci:设置排序规则为utf8mb4_general_ci,表示不区分大小写的排序。
- ROW_FORMAT = Dynamic:设置行格式为Dynamic,表示行数据存储在动态行格式中,可以根据需要自动调整行的大小。
- CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 这是设置字符集
- COMMENT '用户名' 这是备注
注:` 此符号用英文输入法 键盘上的左上角的 "~" 键