ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
| 表介绍 | | | --- | --- | ``` mysql的表有列(column)又叫字段(Field)和行又叫记录(Record),数据库和数据表的关系,好比Excel中工作簿和工作表 数据表至少有1个字段,至少有0个记录 ``` | 常用表引擎 | | | --- | --- | | InnoDB | 当实现 外键和事物必须是InnoDB引擎 | | MyISAM | 查询速度比InnoDB快 | | 表约束条件 | 对字段的非空,唯一性等约束 | | --- | --- | | DEFAULT | 默认值 | | NOT NULL | 不为空 | | [PRIMARY] KEY | 主键,一个表结构中必须只能有一个主键,并且是主键一定自动添加 NOT NULL,UNIQUE | | UNIQUE [KEY] | 唯一性,不重复(例如:用户名不重复,邮箱不重复)可以多个不重复字段,但只能有一个主键字段 | | AUTO_INCREMENT | 自动增长,并且是自动增长的字段一定是主键 | | FOREIGN KEY | 外键 | ``` 约束条件写法 列约束:在一个字段后面写的约束 例如:name NOT NULL DEFAULT 'test' 表约束:在一个字段后面写的约束 说明: [PRIMARY] KEY 主键 UNIQUE [KEY] 唯一性 FOREIGN KEY 外键 可以是表约束(必须在InnoDB引擎下使用) 外键说明: 1、外键是表约束 2、一定先要参考表(父表),后有外键表(子表) 先有参考表记录,后有外键表(子表)记录 先删外键表(子表)表,后删参考表(父表) 先删外键表(子表)记录,后删参考表(父表)记录 3、外键表的字段和 参考表(父表)对应的字段类型 要一致,如果整型 unsigned 也必须一致 如果字符类型编码必须一致,但长度可以不一致 4、外键表默认引擎一定是InnoDB 5、如果给外键列设置约束名称,那会自动产生索引的约束名称 ``` | 存储引擎 | MYISAM | INNODB | | --- | --- | --- | | 事务 | 不支持 | 支持 | | 数据行锁定 | 不支持,只有表锁定 | 支持 | | 外键约束 | 不支持 | 支持 | | 表空间大小 | 相对小 | 相对大 | | 全文索引 | 支持 | 不支持 | | 关注点 | 性能 | 事务 |