精华内容
下载资源
问答
  • mysql数值类型
    2021-02-06 20:33:07

    如有不足请帮忙留言区补充谢谢~

    一,数值类型保留小数点后两个0

    在存入数据时,应客户需求数值类型,比如钱数,分数等等需要精确到小数点后几位。

    800存入时显示为800.00

    方法:在建表时直接定义此数值的类型为float,double或decimal类型

    例如:

    1 create tablenum(2 shuzi float(4,2),3 shuzi2 double(4,2),4 shuzi3 decimal(4,2)5 );

    类型(a,b):a指定指定小数点左边和右边可以存储的十进制数字的最大个数,

    b指定小数点右边可以存储的十进制数字的最大个数,小数位数必须是从 0 到 a之间的值。默认小数位数是 0。

    此时在插入数据

    1 insert into num values(22,33,44);

    那么此时显示的数据就是:

    22.00   33.00   44.00

    无需手动输入00.

    最后说一下

    float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位 对最后一位数四舍五入)

    double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位 对最后一位数四舍五入 float和double的相乘操作,数字溢出不会报错会有精度的损失)

    decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位  当对decimal类型进行操作时,数值会因溢出而报错)

    二,在存入数据时存入整数,select 查询时取出带小数.00的数据

    同样应客户需求,可能仅仅是因为美观而进行的操作

    在定义时定义的就为整形或者其它的数值类型那么在取数据时可以使用round()函数

    见表并定义

    1 create tablenum(2 shuzi int

    3 );

    插入数据

    insert into num values(22);

    取出数据

    1 select round(shuzi,2) from num;

    此时显示为22.00

    更多相关内容
  • Mysql数值类型

    千次阅读 2019-09-18 12:00:01
    Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(integer,smallint,decimal,numeric),以及近似数值数据类型(float,real,double precision(就是双精度型数据)),并在此基础上进行扩展。扩展后增加了...

    一.数值类型

    Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(integer,smallint,decimal,numeric),以及近似数值数据类型(float,real,double precision(就是双精度型数据)),并在此基础上进行扩展。扩展后增加了tinyint,mediumint,bigint这3种长度不同的整形,并增加了bit类型,用来存放位数据。

    类型大小范围(有符号)范围(无符号)用途
    TINYINT1 字节(-128,127)(0,255)小整数值
    SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值
    MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值
    INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
    BIGINT8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
    FLOAT4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度
    浮点数值
    DOUBLE8 字节(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度
    浮点数值
    DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

    INT 类型:

          在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储。还有一个比较特别的地方是,MySQL 会在不合规定的值插入表前自动修改为 0。

     

    UNSIGNED 修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。从而增大这个字段可以存储的值的范围。

    ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。

     

    FLOAT、DOUBLE 和 DECIMAL 类型

    MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字。

    对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。

    DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。精度在这里指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的位数。比如语句 DECIMAL(7,3) 规定了存储的值不会超过 7 位数字,并且小数点后不超过 3 位。

     

    忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 10,计算方法设置为 0。

    UNSIGNED 和 ZEROFILL 修饰符也可以被 FLOAT、DOUBLE 和 DECIMAL 数据类型使用。并且效果与 INT 数据类型相同。

    二.字符串类型

    MySQL 提供了8个基本的字符串类型,分别:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 各SET等多种字符串类型。

    可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。

      字符串类型  字节大小 描述及存储需求
    char(CHAR)   0-255字节定长字符串 
    varchar(VARCHAR)0-255字节变长字符串 
    tinyblob(TINYBLOB)0-255字节不超过 255 个字符的二进制字符串 
    TINYTEXT    0-255字节短文本字符串 
    bolb(BLOB)0-65535字节二进制形式的长文本数据 
    text(TEXT)0-65535字节长文本数据 
    MEDIUMBLOB0-16,777,215字节二进制形式的中等长度文本数据
    MEDIUMTEXT0-16,777,215字节中等长度文本数据
    LOGNGBLOB0-4 294,967,295字节二进制形式的极大文本数据
    LONGTEXT0-4 294,967,295字节极大文本数据
    VARBINARY(M) 允许长度0-M个字节的定长字节符串,值的长度+1个字节
    BINARY(M) M允许长度0-M个字节的定长字节符串

         

    CHAR 和 VARCHAR 类型

         CHAR 类型用于定长字符串,并且必须在圆括号内用一个大小修饰符来定义。这个大小修饰符的范围从 0-255。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。

    CHAR 类型可以使用 BINARY 修饰符。当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。

       CHAR 类型的一个变体是 VARCHAR 类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255 之间的指示器。CHAR 和 VARCHGAR 不同之处在于 MYSQL 数据库处理

    这个指示器的方式:CHAR 把这个大小视为值的大小,不长度不足的情况下就用空格补足。而 VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要的长度

    (增加一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短。

    因为 VARCHAR 类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用 VARCHAR 类型可以大大地节约磁盘空间、提高存储效率。

    VARCHAR 类型在使用 BINARY 修饰符时与 CHAR 类型完全相同。

     

    TEXT 和 BLOB 类型

      对于字段长度要求超过 255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、声音文件等二进制数据类型。

    TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。比指定类型支持的最大范围大的值将被自动截短。

     

    三.日期和时间类型

     在处理日期和时间类型的值时,MySQL 带有 5 个不同的数据类型可供选择。它们可以被分成简单的日期、时间类型,和混合日期、时间类型。根据要求的精度,子类型在每个分类型中都可以使用,并且 MySQL 带有内置功能可以把多样化的输入格式变为一个标准格式。

    类型大小(字节)范围格式用途
    date41000-01-01/9999-12-31yyyy-MM-DD日期值
    time3'-838:59:59'/'838:59:59'HH:mm:ss时间值或持续时间
    year11901/2155yyyy年份值
    datetime81000-01-01 00:00:00/9999-12-31 23:59:59yyyy-MM-DD HH:mm:ss混合日期和时间值
    timestamp41970-01-01 00:00:00/2037年某时yyyyMMDD HHmmss混合日期和时间值,时间戳

    1.date、time和 year类型

    MySQL 用 date和 year类型存储简单的日期值,使用 time类型存储时间值。这些类型可以描述为字符串或不带分隔符的整数序列。如果描述为字符串,

    date类型的值应该使用连字号作为分隔符分开,而 time类型的值应该使用冒号作为分隔符分开。

    需要注意的是,没有冒号分隔符的 time类型值,将会被 MySQL 理解为持续的时间,而不是时间戳。

    MySQL 还对日期的年份中的两个数字的值,或是 SQL 语句中为 year类型输入的两个数字进行最大限度的通译。因为所有 year 类型的值必须用 4 个数字存储。

    MySQL 试图将 2 个数字的年份转换为 4 个数字的值。把在 00-69 范围内的值转换到 2000-2069 范围内。把 70-99 范围内的值转换到 1970-1979 之内。

    如果 MySQL 自动转换后的值并不符合我们的需要,请输入 4 个数字表示的年份。

    2.datetime 和 timestamp 类型

      除了日期和时间数据类型,MySQL 还支持 datetime 和 timestamp 这两种混合类型。它们可以把日期和时间作为单个的值进行存储。

    这两种类型通常用于自动存储包含当前日期和时间的时间戳,并可在需要执行大量数据库事务和需要建立一个调试和审查用途的审计跟踪的应用程序中发挥良好作用。

    如果我们对 timestamp  类型的字段没有明确赋值,或是被赋与了 null 值。MySQL 会自动使用系统当前的日期和时间来填充它。

     

    展开全文
  • 主要给大家介绍了关于MySQL数值类型溢出的处理方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • MySQL 数值类型.pdf

    2022-01-17 17:52:27
    MySQL 数值类型.pdf
  • MySQL设置数值型列时,需要考虑到数值的范围,所以,数值类型就必然需要考虑,以下为MySQL数值类型的存储长度,当然存储长度基本决定着其值域范围。本文节选自MySQL官方网站,仅做汇总摘要整理。一、TINYINT1个字节...

    MySQL设置数值型列时,需要考虑到数值的范围,所以,数值类型就必然需要考虑,以下为MySQL数值类型的存储长度,当然存储长度基本决定着其值域范围。本文节选自MySQL官方网站,仅做汇总摘要整理。

    一、TINYINT

    1个字节存储,范围有符号-128-127,无符号0-255。还有一个类型是BOOL型,相当于TINYINT(1)。

    二、SMALLINT

    2个字节存储,范围带符号的范围是-32768到32767。无符号的范围是0到65535。

    三、MEDIUMINT

    3个字节存储,范围带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

    四、INT, INTEGER

    4个字节存储,范围带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

    五、BIGINT

    8个字节存储,范围带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。

    六、FLOAT(p)

    如果0 <= p <= 24为4个字节, 如果25 <= p <= 53为8个字节

    七、FLOAT

    4个字节存储,范围允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。

    八、DOUBLE [PRECISION]

    8个字节存储,范围允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。

    九、DECIMAL(M,D), NUMERIC(M,D)

    压缩的“严格”定点数,变长类型。M是小数位数(精度)的总数,D是小数点(标度)后面的位数。小数点和(负数)的‘-’符号不包括在M中。如果D是0,则值没有小数点或分数部分。DECIMAL整数最大位数(M)为65。支持的十进制数的最大位数(D)是30。如果D被省略, 默认是0。如果M被省略, 默认是10。如果指定UNSIGNED,不允许负值。

    十、BIT(M)

    大约(M+7)/8个字节存储,M表示每个值的位数,范围为从1到64。如果M被省略, 默认为1。

    展开全文
  • MySQL数值类型

    2018-09-28 10:45:57
    MySQL数值类型 MySQL支持所有标准的SQL数值数据类型。这些类型包括数值数据类型INTEGER、SMALLINT、DECIMAL、NUMERIC和近似数值数据类型FLOAT、REAL、DOUBLE 、PRECISION。其中关键字INT是INTEGER的同义词,关键字...

                                                  MySQL数值类型

    MySQL支持所有标准的SQL数值数据类型。这些类型包括数值数据类型INTEGER、SMALLINT、DECIMAL、NUMERIC和近似数值数据类型FLOAT、REAL、DOUBLE 、PRECISION。其中关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

    BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。作为SQL标准的扩展,MySQL也支持整数的数据类型TINYINT、MEDIUMINT和BIGINT。如下表所示的整数类型的存储以及范围。

    整数型数据存储以及范围

    类型

    字节数

    最小值

    最大值

     

     

    (有符号/无符号)

    (有符号/无符号)

    TINYINT

    1

    -128

    127

     

     

    0

    255

    SMALLINT

    2

    -32768

    32767

     

     

    0

    65535

    MEDIUMINT

    3

    -8388608

    8388607

     

     

    0

    16777215

    INT

    4

    -2147483648

    2147483647

     

     

    0

    4294967295

    BIGINT

    8

    -9223372036854775808

    9223372036854775807

     

     

    0

    18446744073709551615

    对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值则使用8个字节。

    FLOAT类型用于表示近似数值数据类型。MySQL标准允许在关键字FLOAT的后面的括号内选择用位指定精度(但不能为指数范围)。MySQL还支持确定存储大小的精度规定。0到23的精度对应FLOAT列的4字节单精度。24到53的精度对应DOUBLE列的8字节双精度。

    MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。

    MySQL将DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词。MySQL还将REAL视为DOUBLE PRECISION(非标准扩展)的同义词,除非SQL服务器模式包括REAL_AS_FLOAT选项。

    为了保证最大可能的可移植性,需要使用近似数值数据值存储的代码应使用FLOAT或DOUBLE PRECISION,不规定精度或位数,防止数据精度丢失。

    当要在一个数值列内保存一个超出该列允许范围的值时,MySQL的操作取决于此时有效的SQL模式。如果模式未设置,MySQL将值裁剪到范围的相应端点,并保存裁减好的值。

     

     

     

    展开全文
  • mysql数值类型 - numeric

    千次阅读 2021-01-20 02:07:42
    MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键字INT是INTEGER的同义词,关键字DEC是...
  • MySQL数据类型数值数据类型

    千次阅读 2022-05-02 15:11:45
    MySQL数据类型之数值类型。介绍几种数值数据类型。
  • MySQL数值类型的精度探析

    千次阅读 2021-04-20 04:18:09
    MySQL中,支持的数值类型也很全面。看看官方说明:MySQL supports all standard SQL numeric data types. These types include the exact numeric datatypes (INTEGER, SMALLINT, DECIMAL, and N...
  • MySQL数据类型-数值类型 (整数 小数)

    千次阅读 2021-01-13 00:31:41
    数值类型 MySQL支持所有标准SQL数值数据类型。整数类型、浮点数类型和定点数类型 整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 浮点数类型包括 FLOAT 和 DOUBLE 定点数类型为 DECIMAL。
  • MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键字INT是INTEGER的同义词,关键字DEC是DECIMAL...
  • 例如int(10) 他的取值范围任然是(-2 147 483 648,2 147 483 647) 显示宽度只是指明MYSQL数值类型最少显示的数字个数。 当数值的位数小于显示宽度时会有空格或零填充,当数值的位数大于显示宽度时,直接显示该数值 ...
  • 首先说一下mysql数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。关键字INT是INTEGER...
  • MySQL数据类型数值型 整数、浮点数、定点数、位类型
  • MySQL 数据类型

    千次阅读 2021-02-07 20:02:29
    一、数值类型MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER、SMALLINT、DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT、REAL 和DOUBLE PRECISION),并在标准SQL的基础上扩展增加了TINYINT、...
  • MySQL数据类型 -- 数值

    千次阅读 2018-09-23 17:45:07
    MySQL关系型数据库中,MySQL支持的数据类型非常丰富。...MySQL支持所有标准SQL的所有数值类型。在MySQL中,主要分为以下2大类。一类是整数类型,一类是浮点数类型,如下图所示。 整数类型   上图中列出...
  • 我们在数值上有整数、小数,还有一种大家可能接触的不多,那就是浮点数。...数值类型MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中...
  • 数据类型转换
  • 详细介绍MySQL中的数据类型

    万次阅读 多人点赞 2022-04-12 21:46:07
    主要介绍了mysql中的数据类型,主要介绍整数类型,浮点类型,日期类型。开发中每个表都会存在主键和更新时间,这时候选择那个数据类型作为主键也是很重要的,如果选择的数据类型太大会浪费空间,如果选择小了会影响...
  • mysql数据类型及占用字节数【mysql

    千次阅读 2021-02-08 10:43:18
    一、数值类型1,int 类型 4字节 。备注:一个字节8位,即有32位,存在一个符号位。所以能存的数值大小为-2的31次方到2的31次方;2,tinyint 类型 1字节。3,smallint 类型 2字节4,mediumint 类型 3字节5,bigint ...
  • MySQL支持多种类型,大致可以分为三类:数值类型、日期/时间类型和字符串类型。MySQL 数据类型:MySQL支持多种类型,大致可以分为三类:数值类型、日期/时间类型和字符串(字符)类型。一、数值类型整数类型:TINYINT...
  • MySQL数据类型有哪些?

    千次阅读 2022-04-11 14:58:29
    1、整数类型 2、浮点数类型 3、定点数类型 4、字符类型 5、日期时间类型 6、二进制类型 1、整数类型 数据类型 范围 字节 tinyint 有符号值:-128到127 ...
  • Oracle和MySQL的数据类型

    千次阅读 2021-04-06 15:32:37
    ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。 字符类型 字符串数据类型还可以依据存储...
  • mysql数值型字符串比较大小

    千次阅读 2020-04-27 11:23:05
    最近开发中遇到一个问题,要求查询某个区间内数值型字符串的数据。 示例 数据库card_detail 的card_no字段存入 十到十二位字符串 id card_no 1 0000000009 2 0000000010 3 000000000011 4 3000000001 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,290
精华内容 51,316
关键字:

mysql数值类型

mysql 订阅