MySQL中的小技巧(不断更新中)

操作系统为Ubuntu 15.10, MySQL数据库5.6.31-0ubuntu0.15.10.1-log

1. 判断表是否已经存在然后再进行创建

有很多方法可以进行判断,比如show table status like 'object_table'来查看,如下:

Selection_001.png

但是如果要在SQL语句中直接进行判断并进行创建则可以使用如下语句:

    create table if not exists object_table(
        id int not null auto_increment,
        ......
    );

此时如果表已经存在,则不会进行创建;如果没有if not exists,进行重复创建的时候则会抛出错误,如下:

Selection_002.png

但是使用这个语句有一个问题,虽然进行创建的表的名字和已有表的名字重复时不会进行创建,但是该语句也不会校验已存在表的结构
是否和要创建的表的结构相同,而是默认采用已存在的表的结构。

2. 查看表的所有索引

使用show index from object_table,返回目标表的所有的索引信息,如下:

Selection_003.png

里面常见的属性意义如下(目前知道的):

  • Table:表名;
  • Non_unique:是否是唯一索引,0为唯一索引,1不是唯一索引;
  • Key_name:索引名称,如果索引是主键,则名称为PRIMARY;
  • Column_name:列名;
  • Collation:表明索引如何排序,A表明升序,NULL表明不排序;
  • Packed:表明索引如何压缩,如果不压缩则为NULL;
  • Null:表明该索引列是否可以为NULL,如果可以则为YES,如果不可以则为空字符串;
  • Index_type:索引类型,BTREE/FULLTEXT/HASH/RTREE;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值