
主键(Primary Key):同一张表中,将一个记录与其他记录区别开来的特定字段称为主键

联合主键:

外键:一对多

通过另一个表的主键联合两张表的字段就称为外键
对对多:是有两个及以上的一对多组成

补充:
CREATE TABLE `user_info` (
-- 列定义
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin COMMENT='用户信息';
ENGINE=InnoDB:指定表使用的存储引擎为InnoDB。InnoDB是MySQL和MariaDB中广泛使用的事务安全型存储引擎,支持行级锁定和外键约束。AUTO_INCREMENT=4:设置表的自动增长列的起始值为4。这意味着如果表中有一个自动增长的列(如主键),那么该列的值将从4开始递增。DEFAULT CHARSET=utf8mb3:设置表的默认字符集为utf8mb3。utf8mb3是utf8字符集的一个变体,它支持更少的字符,但通常足以满足大多数语言的需求。utf8mb3字符集可以存储大部分Unicode字符,但不包括一些特殊字符。COLLATE=utf8_bin:设置表的默认排序规则为utf8_bin。utf8_bin排序规则是二进制比较,它不考虑字符的大小写和重音符号,适用于需要精确匹配的场景。COMMENT='用户信息':为表添加注释,说明该表用于存储用户信息
存储引擎
在创建数据库表时,存储引擎(Storage Engine)并不是必须指定的,但它是表结构定义中的一个重要组成部分。存储引擎决定了表的数据如何存储、索引如何构建、数据如何检索以及如何处理并发等关键特性。
如果不指定存储引擎,数据库系统通常会使用默认的存储引擎。例如,在MySQL中,默认的存储引擎可能是InnoDB,而在MariaDB中,默认的存储引擎可能是XtraDB。
- 事务支持:如果需要事务支持(即ACID属性:原子性、一致性、隔离性和持久性),InnoDB是一个很好的选择,因为它支持事务。
- 全文搜索:如果需要全文搜索功能,可以考虑使用支持全文索引的存储引擎,如MyISAM或InnoDB。
- 空间效率:对于需要存储大量数据且对空间效率有要求的应用,可以考虑使用压缩或优化存储的存储引擎。
- 并发控制:不同的存储引擎对并发控制有不同的实现,选择合适的存储引擎可以提高并发性能。
- 备份和恢复:某些存储引擎可能提供更高效的备份和恢复机制
- 特定功能:某些存储引擎可能提供特定的功能,如分区、行级锁定等。