zoukankan      html  css  js  c++  java
  • SQL列类型

    列类型的几种基本规则
    M:表示最大显示宽度,最大有效显示宽度255
    D:适用于浮点和定点类型,表示小数点后面的位数
    方括号: [],表示可选部分
    如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性
    
    
    
    数值类型
    //数值类型//
    这些类型包括严格数值数据类型(INTEGERSMALLINT、DECIMAL和NUMERIC),
    以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
    关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
    
    
    //字节说明
    tinyint      1个字节  范围为+-127,无符号位则0-255
    smallint     2个字节  范围为+-32768,无符号位则0-65535
    mediumint    3个字节  范围为+-8388607,无符号位则0-16777215
    int          4个字节  范围为+-2147483648,无符号位则0-4294967295
    bigint       8个字节,范围为+-9223372036854775808,无符号位则18446744073709551615
    
    
    TINYINT[(M)] [UNSIGNED] [ZEROFILL]
    很小的整数。带符号的范围是-128到127。无符号的范围是0到255。
    
    BOOL,BOOLEAN
    是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。
    
    SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
    小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
    
    MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
    中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
    
    INT[(M)] [UNSIGNED] [ZEROFILL]
    普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
    
    INTEGER[(M)] [UNSIGNED] [ZEROFILL]
    这是INT的同义词。
    
    BIGINT[(M)] [UNSIGNED] [ZEROFILL]     //大整数
    
    FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
    小(单精度)浮点数。
    允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。
    这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小些。
    M是小数纵位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。
    如果指定UNSIGNED,不允许负值。
    
    DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
    普通大小(双精度)浮点数。
    允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。
    这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小些。
    M是小数总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。双精度浮点数精确到大约15位小数位。
    如果指定UNSIGNED,不允许负值
    
    
    
    //日期和时间类型
    DATE
    日期。支持的范围为'1000-01-01''9999-12-31'。
    MySQL以'YYYY-MM-DD'格式显示DATE值,但允许使用字符串或数字为DATE列分配值。
    
    DATETIME
    日期和时间的组合。
    支持的范围是'1000-01-01 00:00:00''9999-12-31 23:59:59'。
    MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
    
    TIMESTAMP[(M)]
    时间戳。范围是'1970-01-01 00:00:00'到2037年。
    TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
    TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
    
    TIME
    时间。范围是'-838:59:59''838:59:59'。
    MySQL以'HH:MM:SS'格式显示TIME值,但允许使用字符串或数字为TIME列分配值。
    
    YEAR[(2|4)]
    两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是1901到2155和0000。在两位格式中,允许的值是70到69,表示从1970年到2069年。
    MySQL以YYYY 格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。
    
    //存储字节说明
    date        3个字节
    datetime    8个字节
    timestamp   4个字节
    time        3个字节
    year        1个字节
    
    //字符串类型//
    CHAR
    VARCHAR  //变长字符串
  • 相关阅读:
    汇编语言之第三章寄存器(内存访问)
    汇编语言之第一章基础知识
    汇编语言之实验二
    python爬虫——利用BeautifulSoup4爬取糗事百科的段子
    电子表格拼接助手
    龙龙背作文V1.0——考研英语作文专项训练软件
    龙龙记单词V1.1——更美,更多,更强
    书签小助手V1.0发布了
    龙龙排短文V1.0——考研英语排序题专项训练软件
    保定市公交换乘离线查询系统
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/6022119.html
Copyright © 2011-2022 走看看