首页 > 数据库技术 > 详细

mysql之索引

时间:2019-06-24 21:38:32      阅读:106      评论:0      收藏:0      [点我收藏+]

一、索引概述

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

  2、优点:加快数据检索速度

  3、缺点:

    1)占用物理存储空间

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

 

二、索引分类

  1、普通(MUL) and 唯一(UNI)

    1)使用规则:

      1、可设置多个字段

      2、普通索引 :字段值无约束,KEY标志为 MUL

      3、唯一索引 :字段值不允许重复,但可为 NULL , KEY标志为 UNI

    2)创建普通索引and唯一索引:

      1、创建表时:

        create table 表名(字段名 数据类型,字段名 数据类型,index(字段名),index(字段名),unique(字段名));

      2、已有表中创建

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

    3)查看索引

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

 

      2、show index from 表名\G;

    4)删除索引

      drop index 索引名 on 表名;

  2、主键(PRI)and自增长(auto_increment)

    1)使用规则:

      1、只能有一个主键字段

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

      3、KEY标志 :PRI

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

    2)创建

      1、创建表添加主键

        create table student(xxx xxx)auto_increment=10000;##设置自增长起始值

        如:create table student( id int auto_increment, name varchar(20), primary key(id))charset=utf8,auto_increment=10000;##设置自增长起始值

 

      2、已有表添加主键

        alter table 表名 add primary key(id);

      3、已有表操作自增长属性

        1、已有表添加自增长属性

 

          alter table 表名 modify id int auto_increment;

 

        2、已有表重新指定起始值:

 

          alter table 表名 auto_increment=20000;

    3)删除

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

 

      2、删除主键索引

  3、外键(foreign key)

    1、定义:让当前表字段的值在另一个表的范围内选择

    2、语法:

        技术分享图片

    3、使用规则:

      1、主表、从表字段数据类型要一致

      2、主表被参考字段 :KEY的一种,一般为主键

    4、示例:

      技术分享图片

    5、删除外键

      alter table 表名 drop foreign key 外键名;

      外键名 :show create table 表名;

    6、级联动作

      1)cascade :?数据级联删除、更新(参考字段)

      2)restrict(默认) :从表有相关联记录,不允许主表操作

      3)set null :主表删除、更新,从表相关联记录字段值为NULL

    7、已有表添加外键

      alter table 表名 add foreign key(参考字段) references 主表(被参考字段) on delete 级联动作 on update 级联动作

 

 

 

 

 

 

 

 

 

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mysql之索引

原文:https://www.cnblogs.com/yuxiangyang/p/11079153.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!