MySQL基础-数据的完整性

167 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情

主键

  • 主键(primary key)用于唯一的标识表中的某一条记录,主键的列不能为空值,可以唯一标识标识表中的某一行,就好比每个人的身份证都不一样,能够标识每一个人 alter table 表名 add primary key(列名)
  • 如果表中已存在2个相同的数据我们需要使用delete语句删除其中一条后才能添加 delete table 表名 where 重复数据
  • 创建表时同样可以设置主键 create table 表名(字段名 数据类型 primary key);
  • 当业务复杂时,可能需要多个主键来进行约束,例如手机号不能够确定唯一记录,因为一天可能收到多条信息,所以我们我们将手机号和时间戳设置为主键,根据2列能确定唯一数据 create table 表名(字段名1 数据类型,字段名2 数据类型... primary key(字段名1,字段名2,字段名n);

唯一

  • 唯一约束保证数据表中字段值的唯一性,在MySQL中可以使用unique关键字添加唯一约束 create table 表名(字段名 数据类型 unique...);
  • 在创建完表后添加 alter table 表名 add unique(列名)

自动增加列

当我们使用ID列时,需要不断增加,在MySQL可以使用 auto_increment语句来设置自动增加 create table 表名(字段名 数据类型 auto_increment);

  • 在创建完表字段后设置自动增长列 alter table 表名 modify 字段名 数据类型 primary key auto_increment;

索引

如果通过条件where查找效率低下,通过设置索引查找可以大幅度提高查询效率,比如索引就像一本图书的目录,用户可以用通过目录页码快速找到自己所需要的内容。

普通索引

普通索引为经常使用的查询条件或者排序条件创建索引 create table 表名(字段名 数据类型,...index[索引名](字段名[长度])