参考链接: Python中的分数模块Fraction 数据类型: 整形(int) 布尔类型(bool) 浮点型(float,e记法1.5e11=1.5*10的11次方) 字符串(str)类型的获取**...平方根的计算 math.floor(2.567),math.floor(-2.567) >>>(2,-3) math.trunc(2.567),math.trunc(-2.567) >>>(2,-2) #丢弃小数...,round(2.467),round(2.567,2) >>>(3,2,2.57) #四舍五入 math.sqrt(144) >>12.0 144 ** .5 >>>12.0 pow(155,5) 小数类型...使用小数对象我们可以得到一个只保留两位小数为精度的浮点数。这对表达固定精度的特性(货币的累加)以及对精度是实现都是一个理想的工具。 ...:decimal模块中的其他一些工具可以用来设置所有小数数值精度,安排错误处理等。
用到小数格式化,mysql了解很肤浅,只会简单的sql语句,于是百度,发现大家都是转载同一个文章,好无语。 而且,结果验证还是不正确,查了官方api,终于写出来了。...代码如下: mysql> SELECT FORMAT(12332.123456, 4); -> '12,332.1235' mysql> SELECT FORMAT(12332.1,4); -...> '12,332.1000' mysql> SELECT FORMAT(12332.2,0); -> '12,332' 没有达到预期结果,想要的结果不要以逗号分隔, 代码如下: select
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...308,1.797 693 134 862 315 7 E+308) 双精度浮点数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
MySQL不同存储引擎可能会有不同。下面的内容以InnoDB为主。 选择数据类型的步骤 确定合适的大类型:数字、字符串、时间、二进制 确定具体的类型:有无符号、取值范围、变长定长等。...MySQL检索CHAR不会使用末尾的空格。(列是定长的,MySQL没有存储写入的字符串有多长,只好一刀切,末尾的空格都忽略掉。) VARCHAR末尾的空格不会被“干掉”,检索的时候会用到。...MySQL只能对BLOB和TEXT的前面max_sort_length各字符进行排序和索引。 BLOB和TEXT都不能有default value。...而MySQL在检索BIT的时候会将其当做字符串,而不是整数,这可能会导致一些奇怪的行为。 不建议使用这三个类型:用整数代替。 一些原则 选择最小的满足需求的数据类型。...一般情况下,应该尽量使用可以正确存储数据的最小数据类型。 简单就好。
一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE...与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字。...对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。 DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。...忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 10,计算方法设置为 0。...MySQL 会自动使用系统当前的日期和时间来填充它。 复合类型 MySQL 还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。
数据类型分类 对于数据类型分类,这里简单分为数值类型(如BIT,BOOL,INT),文本、二进制类型(如CHAR,VARCHAR),时间日期(DATE),String类型(如ENUM类型),这里简单了解一下即可...of range value for column 'num' at row 1 mysql> 用tinyint unsigned数据类型创建表t2: mysql> create table if not...反过来,我们如果已经有数据被插入到MySql中了,一定是插入的时候是合法的 所以MySql中一般而言,数据类型本身也是一种约束,约束程序员尽可能进行正确的插入,约束使用者,如果你不是一个很好的使用者,...Query OK, 1 row affected (0.00 sec) 虽然插入的是-10.0,但是mysql插入的是-10.00,遵守小数是两位的规则。...decimal decimal也是mysql中的浮点数类型,float存储数据时,小数比较大,或者小数位点比较多存储的就不太准确了,这与浮点数存储规则有关(mysql中的float浮点数精度为是7)。
一、数据类型 各类型的数值范围: 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。 可以通过UNSIGNED来说明某个字段是无符号的。...mysql> insert into tt4 values ( 65 , 65 ); mysql> select * from tt4; +------+------+...1.2、float float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节。...1.3、decimal decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数。...支持小数最大位数d是30。如果d被省略,默认为0.如果m被省略,默认是10。如果希望小数的精度高,推荐使用decimal。
MySQL的数据类型 在MySQL中有如下几种数据类型: (1)数值型 数值是诸如32 或153.4 这样的值。...浮点数由整数部分、一个小数点和小数部分组成。整数部分和小数部分可以分别为空,但不能同时为空。 数值前可放一个负号“-”以表示负值。...浮 点类型允许指定小数位数,所以能控制浮点数的精度值为多少。 可以在列类型之后指定可选的类型说明属性,以及指定更多的常见属性。...列(字段)的类型比数据类型更为细化,它精确地描述了给定表列(字段)可能包含的值的种类,如是否带小数、是否文字很多。 MySQL有整数和浮点数值的列类型,如表1所示。整数列类型可以有符号也可无符号。...对每种浮点类型,可指定一个最大的显示尺寸M 和小数位数D。M 的值应该取1 到255。
MySQL数据类型 数据类型 指定值和范围 char String(0~255) varchar String(0~255) tinytext String(0~255) text String(0~65536...(-214847668~214847667) bigint Integer(-9223372036854775808~9223372036854775807) float decimal(精确到23位小数...) double decimal(24~54位小数) decimal 将double转储为字符串形式 date YYYY-MM-DD datetime YYYY-MM-DD HH:MM:SS timestamp...YYYYMMDDHHMMSS time HH:MM:SS enum 选项值之一 set 选项值子集 boolean tinyint(1) 数值数据类型 数字类型 描述 TINYINT 一个很小的整数...MySQL 5.7.8版本支持原生JSON数据类型,可以更有效地存储和管理JSON文档。
mysql 数据类型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint...浮点型(float和double) MySQL数据类型 含义 float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d) 双精度浮点型 16位精度(8字节) m总个数... 字符串(char,varchar,_text) MySQL数据类型 含义 char(n) 固定长度,最多255个字符 varchar(n) 固定长度,最多65535个字符 tinytext...日期时间类型 MySQL数据类型 含义 date 日期 '2008-12-2' time 时间 '12:25:36' datetime 日期时间 '2008-12-2 22:06:44' timestamp...数据类型的属性 MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT
数据类型分类 简单看一下数据可常见类型: 数值类型 tinyint类型 创建一个表,表中内容是tinyint型有符号: mysql> create table if not exists t1 (...总结: 如果插入的数据超过MySQL数据类型的范围,那么MySQL就不让你插入,直接拦截,不让做对应的操作。...如果已经有数据被成功插入到MySQL中,那么插入的时候一定是合法的。 因此,MySQL中,一般而言,数据类型本身也是一种约束。...-+---------+-------+ 2 rows in set (0.00 sec) 浮点类型 float 语法: float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数...样例: 小数:float(4,2)表示允许存装数据的位数是4,精度部分是3个。
MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...308,1.797 693 134 862 315 7 E+308) 双精度浮点数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
数值类型 MySQL支持所有标准SQL数值数据类型。...这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...308,1.797 693 134 862 315 7 E+308) 双精度浮点数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值...每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。 TIMESTAMP类型有专有的自动更新特性,将在后面描述。
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...308,1.797 693 134 862 315 7 E+308) 双精度 浮点数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值
数据类型实际上也是对数据的一种约束。...一.数据类型分类 二.数值类型 三.tinyint类型 数值越界测试: mysql> create table tt1(num tinyint); Query OK, 0 rows affected...(0.02 sec) mysql> insert into tt1 values(1); Query OK, 1 row affected (0.00 sec) mysql> insert into..., d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节 如12.34,则M=4, d=2。...如果小数超出了d的大小,那么就会四舍五入。 需要注意的是,如果整数达到3位,或者四舍五入后整数达到三位,就会拒绝插入。
MySQL之数据类型 MySQL常见的数据类型有数值、日期和时间、字符串 数值 整数类型(精确值) Integer Types (Exact Value) - INTEGER, INT, SMALLINT...十进制,数字 Fixed-Point Types (Exact Value) - DECIMAL, NUMERIC DECIMAL(5,2): 5代表精度,2代表刻度;表示该列总共可以存储5位数字,精确到小数点后...2位; 存储范围: -999.99 ~ 999.99 NUMERIC就是NUMERIC 说明:精度是几,小数点+整数位不能超过前面的精度。...MySQL进行舍入时存储的值,所以如果你插入999.00009成浮(7,4)柱,近似的结果是999.0001 If M and D are omitted, values are stored to the
一、数据类型分类 ---- 二、INT类型 1.tinyint类型 (1)有符号 tinyint类型的数据范围为-128~127 我们创建好一张表,其中成员age的类型为tinyint。...(2)无符号 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。...---- 四、小数类型 1.float类型 语法: float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节 当我们插入小数位数大于我们设定的位数时,...当插入的数字太大的时候,会出现精度丢失的问题 当我们设定float类型为unsigned时,并不是和int一样把负数的范围加到整数上,mysql在处理小数类型时会直接除去负数那部分范围,保留正数范围。...支持小数最大位数d是30。
MySQL数据类型优化 作者的故事 原本觉得mysql数据类型是非常简单并十分基础的知识,认为自己掌握的差不多了。但经过上一次的面试,才发现自己掌握的并不牢固,很多细节和原理并不知道。...后来翻阅了《高性能mysql》这本书,仔细阅读了第四章Schema与数据类型优化。因此,写这篇文章记录和总结下,并加深理解。...对于DECIMAL列,可以指定小数点前后所允许的最大位数。这会影响列的空间消耗。MySQL5.0和更高版本将数字打包保存到一个二进制字符串中(每4个字节存9个数字)。...例如DECIMAL(18,9)小数点两边各存储9个数字,一共使用9个字节,小数点前后各占4个字节,小数点占1个字节。 浮点类型在存储同样的值时,通常比DECIMAL使用更少的空间。...总结 本篇文章主要是介绍MySQL常用的数据类型,如有错误或者不准确的地方,欢迎交流。
它可以用来表示某个 字段(列) 的数据内容格式是数字(例123)还是字符(例"一二三") ,可以控制字段的字符长度和硬盘占用空间; MySQL常用数据类型:[数值]、[日期时间]和[字符串]类型。...一、数值 1、整型 MySQL数据类型 含义(有符号) tinyint 1个字节范围(-128~127) smallint 2个字节范围(-32768~32767) mediumint 3个字节范围(-...int(m)里的m是表示SELECT查询结果集中的显示宽度,无实际意义,不影响实际的取值范围 2、浮点型 MySQL数据类型 含义 float(m,d) 单精度浮点型8位精度(4字节)m总个数,d小数位...double(m,d) 双精度浮点型16位精度(8字节)m总个数,d小数位 decimal(m,d) 定点数总个数m<38, d小数位 设一个字段定义为float(5,2),如果插入一个数123.45678...如果确定数据长度以及小数点位数则采用定点数据类型。
领取专属 10元无门槛券
手把手带您无忧上云