MYSQL约束enum和创建/删除索引,普通索引(index),唯一索引(unique),主键索引(primary key)

MYSQL约束enum和创建/删除索引,普通索引(index),唯一索引(unique),主键索引(primary key)

约束

  1、作用 :保证数据的完整性、一致性、有效性

  2、约束分类

    1、默认约束(default)

      1、插入记录,不给该字段赋值,则使用默认值

    2、非空约束(not NULL)

      1、不允许该字段的值有NULL记录

      sex enum("M","F","S") not null defalut "S"

索引

  1、定义

    对数据库表的一列或多列的值进行排序的一种结构(Btree方式)

  2、优点

    加快数据检索速度

  3、缺点

    1、占用物理存储空间

    2、当对表中数据更新时,索引需要动态维护,降低数据维护速度

  4、索引示例

    1、开启运行时间检测 :set profiling=1;

    2、执行查询语句

      select name from t1 where name="lucy99999";

    3、查看执行时间

      show profiles;

    4、在name字段创建索引

      create index name on t1(name);

    5、再执行查询语句

      select name from t1 where name="lucy88888";

    6、查看执行时间

      show profiles;

  5、索引

    1、普通索引(index)

      1、使用规则

        1、可设置多个字段

  2、字段值无约束

  3、key标志 :MUL

      2、创建index

        1、创建表时

    create table 表名(...

    index(字段名),index(字段名));

        2、已有表

    create index 索引名 on 表名(字段名);

    create index name on t3(name);

      3、查看索引

        1、desc 表名;  --> KEY标志为:MUL

  2、show index from 表名\G;

      4、删除索引

        drop index 索引名 on 表名;

    2、唯一索引(unique)

      1、使用规则

        1、可设置多个字段

  2、约束 :字段值不允许重复,但可为 NULL

  3、KEY标志 :UNI

      2、创建

        1、创建表时创建

    unique(字段名),

    unique(字段名)

  2、已有表

    create unique index 索引名 on 表名(字段名);

        3、查看、删除 同 普通索引

    3、主键索引(primary key)

       自增长属性(auto_increment,配合主键一起使用)

      1、使用规则

        1、只能有一个主键字段

  2、约束 :不允许重复,且不能为NULL

  3、KEY标志 :PRI

  4、通常设置记录编号字段id,能唯一锁定一条记录

      2、创建

        1、创建表时

    (id int primary key auto_increment,

    )auto_increment=10000;##设置自增长起始值

    已有表添加自增长属性:

      alter table 表名 modify id int auto_increment;

    已有表重新指定起始值:

      alter table 表名 auto_increment=20000;

  2、已有表

    alter table 表名 add primary key(id);

      3、删除

        1、删除自增长属性(modify)

          alter table 表名 modify id int;

  2、删除主键索引

    alter table 表名 drop primary key;        



最后编辑于:2019/10/05作者: 牛逼PHP

发表评论