zoukankan      html  css  js  c++  java
  • mysql(1)

    mysql(默认数据表MyISAM&InonoDB)

      可以在MySQL的配置文件my.ini里设置,书里写的是 default-table-type。但是在my.ini里没有找到,而是

      # The default storage engine that will be used when create new tables when
      default-storage-engine=INNODB

      MyISAM,成熟、稳定,易于管理。分为三种 MyISAM static、MyISAM Dynamic和MyISAM Compressed

    1. MyISAM static:数据列各自有定义好的“固定长度”,数据存取效率高(在修改很频繁的基础下)
    2. MyISAM Dynamic:数据列没有固定的长度,存储效率高;缺点:在删除的时候会产生大量的 数据碎片
    3. MyISAM Compressed:压缩MyISAM,占用空间少;缺点:数据小变成了只读数据表,不能修改

      InnoDB,MyISAM的进化版,增加了事务、外键约束等功能;缺点:我不知道现在是否还有,毕竟时代在发展

    总结:如果对 空间和时间要求高的话,就使用MyISAM;若需要 事务、外键、数据行级锁定机制,就使用InnoDB

      HEAP(临时数据表){hash index 散列索引 ,优点:存取速度快}

      HEAP的限制:不能使用---TEXT、---BOLB、<、>、<=、>=、AUTO_INCREMENT;只能对 not null 进行索引

      书里写的 HEAP 数据表的长度在配置文件里没有找到,config_max_heap_table_size

    数据列宽度(INT(4))作用和C语言里转换说明符 %4d 一样,Warning(在执行一些需要借助于临时数据表才能完成的复杂查询时,可能会造成数据的截断)

    AUTO_INCREMENT

    1. 每个表只能有一个A_T的数据列
    2. select LAST_INSERT_ID()
    3. 如果增长到最大值的话,不会继续递增,也不会再插入数据
    4. 有A_T,则必须有primary key

    BIT&BOOL(二进制)

    FLOAT&Doule(REAL)浮点数

      (m,d)m指定的是十进制数的个数,只是起显示效果;d指定的小数点后几位数字的个数(会进行四舍五入)

        插入的数据会进行必要的舍入

    DECIMAL(定点数)

      如果四舍五入会产生差错时,使用DECIMAL。DECIMAL是使用字符串的形式来保存数据

    DATE、TIME、DATATIME、YEAR、TIMETAMP

      表示日期的数据类型

      TIMETAMP,是在进行数据修改时,会记录最后一次修改的时间

      如果不想保存此次修改的记录时间, update tablename SET col=new value,ts=ts;

      如果想进行日期排版的话,使用DATA_FORMAT()

  • 相关阅读:
    BZOJ 4236~4247 题解
    OCUI界面设计:滚动视图与分页控件初探
    大数乘法
    Effective C++ 11-17
    [Matlab+C/C++] 读写二进制文件
    Java 反射 方法调用
    如何使用LaTeX让自己不乱?
    LaTeX 相对于 Word 有什么优势?
    你在发表理科学术文章过程中有哪些经验值得借鉴?
    破译手势在对话中的意义
  • 原文地址:https://www.cnblogs.com/AI-Cobe/p/9308780.html
Copyright © 2011-2022 走看看