主键
- 主键(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[索引名](字段名[长度])