创建数据表示例
CREATE TABLE `users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL UNIQUE,
`email` VARCHAR(100) NOT NULL UNIQUE,
`age` TINYINT UNSIGNED DEFAULT NULL,
`status` ENUM('active', 'inactive') DEFAULT 'active',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX `idx_username` (`username`),
INDEX `idx_email_status` (`email`, `status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
深度设计解析
- 字段类型优化:使用精确类型(TINYINT代替INT)节省存储空间
- 约束控制:NOT NULL保证数据完整性,UNIQUE防止重复数据
- 索引策略:复合索引提升多条件查询效率
- 引擎选择:InnoDB支持事务和外键约束
- 字符集设置:utf8mb4全面支持Emoji和特殊字符
遵循这些设计规范,可构建出既高效又易维护的数据表结构。
-1
886

被折叠的 条评论
为什么被折叠?



