zoukankan      html  css  js  c++  java
  • MySQL支持的数据类型(1)( 整数,小数,位)

     

    整数类型 字节 最小值 最大值
    tinyint 1

    有符号-128

    无符号0

    有符号127

    无符号255

    smallint 2

    有符号-32768

    无符号0

    有符号32767

    无符号65535

    mediumint 3

    有符号-8388608

    无符号0

    有符号8388607

    无符号1677215

    int、integer 4

    有符号-2147483648

    无符号0

    有符号2147483647

    无符号4294967295

    bigint 8

    有符号-9223372036854775808

    无符号0

    有符号9223372036854775807

    无符号18446744073709551615

    浮点数类型 字节 最小值 最大值
    float 4 ±1.175494351E-38 ±3.402823466E+38
    double 8 ±2.2250738585072014E-308 ±1.7976931348623157E+308
    定点数类型 字节 描述
    dec(m,d) / decimal(m,d) m+2 最大取值范围与double相同,给定decimal的有效取值范围由m和d决定
    位类型 字节 最小值 最大值
    bit(m) 1-8 bit(1) bit(64)

    一、对于整数类型,Mysql支持在类型后面的小括号内指定显示宽度  例如:int(5) 表示当前数值宽度小于5位的时候在数字前面填满宽度。

    1.如果不指定显示宽度,则默认为int(11)

    2. 配合zerofill使用:在数字位数不够的空间用字符"0"填满。  eg:修改表字段为 id1 int zerofill;

        

    //创建表  id1为int,不设置显示宽度 id2为int,设置显示宽度为6  id3为tinyint 不设置显示宽度
    create table t1( id1 int zerofill, id2 int(6) zerofill, id3 tinyint zerofill );

    //都插入相同数值1
    insert into t1 values(1,1,1);

    3.设置宽度限制后,如果插入大于宽度限制的值,会正常插入。此时宽度格式已经没有意义。

    二、对于整数类型,都有可选属性unsigned(无符号)

    1.用于保存保存非负数或者需要较大上限的值

    2.取值范围:下限是0,上限是原值的2倍。 eg: tinyint 有符号范围是-128~127 无符号范围是0~255

    3.如果一个列指定为zerofill,则MySQL自动为该列添加unsigned属性

    二、对于整数类型,都有可选属性auto_increment

    1.自增属性,一般从1开始,每插入一条数据该字段都会+1。用于产生唯一标识符或顺序值。

    2.在插入null到一个auto_increment列时,MySQL会插入一个比该列中当前最大值大1的值。

    3.对于任何想要使用auto_increment的列,应该定义为not null,并定义为primary key或定义为unique键。

    小数

    1.对于小数的表示,分为浮点数定点数。浮点数包括float(单精度)double(双精度),定点数只有decimal一种表示。

    2.定点数在MySQL内部以字符串的形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。

    3.小数类型都可以在类型名称后加"(m,d)",表示该值一共显示m位数字(整数位加小数位),其中d位位于小数点后面,m和d又称为精度和标度eg:float(7,4) 插入999.00009,保存结果为999.0001。四舍五入

    4.float和double在不指定精度时,默认会按照实际的精度来显示。若指定,则会自动将四舍五入的结果插入。

    5.decimal在不指定精度时,默认为(10,0),如果数据超越了精度和标度,系统则会报错。

    1.bit(m)用来存放多位二进制数,m的范围是1~64

    2.对于位字段,直接使用select命令将不能看到结果,可以用bin()(显示为二进制格式)、hex()(显示为十六进制格式)函数进行读取。

  • 相关阅读:
    哈希表,开放地址法之线性探测代码(JAVA)
    Java中几个关键字的意思
    java学习——File类操作
    Map三种遍历方法
    Spring Data Binding
    哈希表的基础理解
    选择排序
    map集合使用
    排序
    关于LinkedList
  • 原文地址:https://www.cnblogs.com/drake-guo/p/6114115.html
Copyright © 2011-2022 走看看