MySQL表结构包含字段定义、约束、索引、存储引擎、字符集与自动增长;1. 字段含名称和数据类型如INT、VARCHAR;2. 约束有主键、非空、唯一、默认值和外键;3. 索引加速查询,分普通、唯一、主键和全文索引;4. 常用存储引擎为InnoDB和MyISAM;5. 字符集如utf8mb4决定字符支持,排序规则影响比较;6. AUTO_INCREMENT使主键自动递增;合理设计可提升性能与数据一致性。

1. 字段(列)定义
字段名:每个列都有唯一的名称,用于标识该列的数据。例如:id、name、age。
数据类型:指定该列可以存储的数据种类,常见的有:
- 整数类型:
INT、TINYINT、BIGINT - 浮点数:
FLOAT、DOUBLE、DECIMAL - 字符串:
VARCHAR(n)、CHAR(n)、TEXT - 日期时间:
DATETIME、DATE、TIMESTAMP - 二进制:
BLOB、BINARY
例如:name VARCHAR(50) 表示最大长度为50的可变字符串。
2. 约束条件
约束用于保证数据的完整性和一致性,常见约束包括:
-
主键约束(PRIMARY KEY):唯一标识每一行记录,不允许重复且不能为NULL。常用于
id字段。 - 非空约束(NOT NULL):该字段必须有值,不能插入NULL。
- 唯一约束(UNIQUE):确保该字段的值在表中唯一,但允许NULL(视具体实现而定)。
-
默认值(DEFAULT):当未提供值时,自动填充默认值,如
status TINYINT DEFAULT 1。 - 外键约束(FOREIGN KEY):建立表与表之间的关联,确保引用的数据存在于另一张表的主键中。
3. 索引(Index)
索引用于加快查询速度,尤其是对频繁查询的字段。常见的索引类型有:
- 普通索引(INDEX):最基本的索引,无限制。
- 唯一索引(UNIQUE INDEX):索引列的值必须唯一。
- 主键索引:主键自动创建的唯一索引。
- 全文索引(FULLTEXT):适用于文本内容的关键词搜索。
例如:CREATE INDEX idx_name ON users(name);
4. 存储引擎
MySQL支持多种存储引擎,最常用的是:
- InnoDB:支持事务、外键、行级锁,适合高并发场景。
- MyISAM:不支持事务,但查询速度快,适合读多写少的应用。
建表时可通过ENGINE=InnoDB指定。
开发语言:java,支持数据库:Mysql 5,系统架构:J2EE,操作系统:linux/Windows1. 引言 32. 系统的结构 32.1 系统概述 33. 功能模块设计说明 43.1 商品管理 43.1.1 添加商品功能模块 53.1.2 商品列表功能模块 83.1.3 商品关联功能模块 93.
5. 字符集与排序规则
字符集(CHARACTER SET):决定字段支持哪些字符,如utf8mb4支持中文和emoji。
排序规则(COLLATE):定义字符比较和排序方式,如utf8mb4_unicode_ci表示不区分大小写的排序。
可在表或字段级别设置,例如:name VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci。
6. 自动增长(AUTO_INCREMENT)
通常用于主键,使数值型字段在插入新记录时自动递增。例如:
id INT PRIMARY KEY AUTO_INCREMENT
基本上就这些。设计良好的表结构能提升性能、减少冗余,并保障数据准确。实际建表时建议结合业务需求合理选择字段类型、添加必要索引和约束。不复杂但容易忽略细节。









