zoukankan      html  css  js  c++  java
  • mysql数据类型分析

    CHAR, VARCHAR, TEXT

    • CHAR 定长字符串,占用空间大,速度快
    • VARCHAR 变长字符串,占用空间小,速度慢
    • CHAR后面的空格会被去掉,VARCHAR不会去掉
    • TEXT 不能有默认值
    • 数据检索的效率   CHAR > VARCHAR > TEXT

    ENUM()

    • 枚举的每一个元素都有一个序号
    • 自动去掉元素后面的空格
    • 插入数据时value必须是枚举中的一个,除了NULL
    • 只能从列表中选取一个值

    SET()

    • 可以从列表中选取多个值,多个值之间用逗号分隔
    • 以二进制数值保存在表中

    YEAR:

    • 保存年份   1901-2155
    • 可以保存数值形式,也可以保存这符串形式
    • 当输入两位数字或两位字符串的时候会自动在前面加20或19
    • 当插入一个数字0时,保存为0000
    • 当插入一个字符串0时,保存为2000

    TIME:

    • 由天数:小时:分钟:秒组成
    • INSERT tablename VALUES(‘1 12:12:12’); 存成 36:12:12
    • INSERT tablename VALUES(‘11:11’);  存成11:11:00
    • INSERT tablename VALUES(‘1234’);   存成00:12:34
    • INSERT tablename VALUES(‘12’);  存成00:00:12
    • INSERT tablename VALUES(‘0’);     存成00:00:00

    DATE:

    • 1000-0101  ~ 9999-12-31
    • INSERT tablename VALUES(‘12-6-7’);    2012-06-07
    • INSERT tablename VALUES(‘12/6/7’);     2012-06-07
    • INSERT tablename VALUES(‘120607’);    2012-06-07
    • INSERT tablename VALUES(‘12@6/7’);    2012-06-07
    • 一般时间用整型保存时间戳

    浮点类型:

    • 当插入数据小数位太多时,float, double 会自动四舍五入; DECIMAL会产生一个warning.
    • DECIMAL内部以字符串形式保存
    • 当数值以字符串形式插入时,float, double保存结果可能不对, 但DECIMAL不会错
    • 精度要求高时,应当使用DECIMAL
  • 相关阅读:
    函数依赖(转)
    C++对象的深拷贝和浅拷贝
    C++临时匿名对象
    C++操作符重载
    C数组和指针
    动态开发入门之Servlet
    数据库的CURD操作 以及经典的sql语句
    如何删除07版word页眉页脚的横线
    数据库的连接查询
    经典面试题 详细解析Java中抽象类和接口的区别
  • 原文地址:https://www.cnblogs.com/huangxm/p/5734060.html
Copyright © 2011-2022 走看看