MySQL键值

作者: 陈公子ks | 来源:发表于2020-03-27 13:51 被阅读0次

    键值类型:
    index 普通索引
    unique 唯一索引
    fulltext 全文索引
    primary key 主键
    foreign key 外键
    索引相当于书的目录,对表中的字段值进行排序
    索引类型:
    btree(默认)、b+tree、hash
    索引优点:
    创建索引可以保持数据库表中数据唯一性,可以加速数据查询速度;
    索引缺点:
    增删改查的时候,索引也要跟着调整,降低了数据的维护速度。
    实际中,读的次数比修改的要多,所以索引有利于查询速度。
    1.index
    index 规则:一个表中可以有多个index字段,字段的值允许重复,且可以赋予null,通常会把查询条件的字段设置为index。index字段标志mul

    mysql> create database db2;
    mysql> create table db2.t1(name char(10),age int,sex enum("boy","girl"),index(name),index(sex));
    mysql> desc db2.t1;
    

    建表时,直接建索引

    mysql> create index on t2(name);
    mysql> drop index on t2(name);
    mysql> show index from t2\G;
    

    已有表建索引,删除索引,查看索引
    2.primary ke
    主键:字段值不允许重复,且不允许赋予null,一个表中只能由一个primary key,主键的标志PRI,主键一般会和auto_increment连用

    mysql> create table t1(name char(10) primary key,age int,class char(7));
    mysql> create tablbe t2(name char(10),age int,class char(7),primary key(name));
    

    两种创建主键的方式

    mysql> alter table t1 add primary key(字段名);
    mysql> alter table t1 drop primary key;
    

    已有表中添加主键,删除主键
    复合主键:多个字段作为主键,多条记录时,复合主键字段值,不能相同

    mysql> create table db2.pay(name char(10),class char(7),pay enum("yes","no"),primary key(name,class,pay));
    mysql> desc pay;
    
    mysql> create table t3(id int primary key auto_increment,name char(10),age tinyint unsigned,class char(7)default "abc");
    mysql> desc t3;
    

    与auto_increment连用 作用是让字段自增长的方式赋值

    mysql> alter table t3 modify id int not null;
    mysql> alter table t3 drop primary key;
    

    先修改字段,再删除主键

    相关文章

      网友评论

        本文标题:MySQL键值

        本文链接:https://www.haomeiwen.com/subject/xmtluhtx.html