您当前的位置:官网首页 > 碎言碎语 >

Mysql基础02

发布时间:2019-12-20 09:40编辑:

    3、束缚与索引

    束缚是用来对数据业务规矩和数据完整性进行施行、保护。束缚的效果规模仅限在当时数据库,是逻辑束缚,不会由于设置束缚而额定占用空间。

    索引是一个独自、物理的存储在数据页上的数据库结构,它是表中一列或若干列值的调集和相应的指向表中数据值的物理标识数据页的逻辑指针清单。能够大大提高查询速度。应该在键列、或其他常常要查询、排序、按规模查找的列上树立索引。

    mysql会在众发娱乐app主键、仅有键、外键列上主动创立索引,其他列需求树立索引的话,需求手动创立。

    其间主键删去,对应的索引也会删去

    删去仅有键的方法是经过删去对应的索引来完成的

    删去外键,外键列上的索引还在,假如需求删去,需求独自删去索引

    检查某个表的束缚

    select * from information_schema.table_constraints where table_name = '表称号';
    show create table 表名;

    检查某个表的索引

    show index from 表称号;

    主键分为单列主键和复合主键

    主键的特色:

    仅有而且非空一个表只能有一个主键束缚主键束缚名就叫做primary创立主键会主动创立对应的索引,相同删去主键对应的索引也会删去。

    建表时指定主键束缚

    create table 表名
    create table 表名 #假如是复合主键,那么就需求在所有字段列表后边运用这种方法指定,不能在字段后边直接加primary key
    );

    建表后指定主键束缚

    alter table 表称号 add primary key ;

    删去主键束缚

    alter table 表称号 drop primary key;

    仅有键束缚特色:

    同一个表能够有多个仅有束缚。仅有束缚能够是某一个列的值仅有,也能够多个列组合值的仅有。mysql会给仅有束缚的列上默许创立一个仅有索引。删去仅有键只能经过删去对应索引的方法删去,删去时需求指定仅有键索引名

    建表时指定仅有键束缚

    create table 表名 #假如是复合仅有键,那么就需求在所有字段列表后边运用这种方法指定,不能在字段后边直接加unique key
    );

    建表后添加仅有键束缚

    alter table 表称号 add  unique  ;

    #假如没有指定束缚名,中只要一个字段的,默许是该字段名,假如是多个字段的默许是字段名列表的第1个字段名。

    删去仅有键束缚

    alter table 表称号 drop index 仅有键束缚名;

    外键特色: