https://blog.csdn.net/robinson_0612/article/details/82823622 在MySQL关系型数据库中,MySQL支持的数据类型非常丰富。...它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍数值类型,并演示其用法。...一、数值型 MySQL支持所有标准SQL的所有数值类型。在MySQL中,主要分为以下2大类。一类是整数类型,一类是浮点数类型,如下图所示。 ?...二、数值型演示 mysql> CREATE TABLE t_num -> ( -> id1 int, -> id2 int(4) ZEROFILL -> ); Query...,提示报错 -- 因为5表示的是总长度,而不是整数部分的长度 mysql> insert into t_num values(2,2,12345.32); ERROR 1264 (22003): Out
第一部分:数据类型 javascript数据类型通常来说是6种(ES6新增第七种Symbol类型) number:数值 string:字符串 boolean:布尔类型,true或false undefined...(complex type)的值,一个对象往往是多个原始类型的合成;而undefined和null是两个特殊的值!...javascript一切皆对象,即所有数据都可认为是广义的对象! typeof运算符:确定一个值是什么类型;返回的是字符串类型。...2.3数值范围 64位浮点数指数部分长度是11个二进制位,故指数最大值是2047(2^11-1)。分出一半表示负数,数值范围为2^1024~2^(-1023)【开区间】。...0b或0B 2.5 特殊数值 +0与-0; javascript的64位浮点数之中,有一位是符号位,所以任意一个数(包括0)均有对应的负值 ?
ROUND(x,y)函数 返回参数x的四舍五入的有y位小数的值 如果x是整数,将会保留y为0,;如果不写y,则默认y为0,即将x四舍五入后取整。适合于将所有数字保留同样小数位的情况。 ?
数值函数 1....POW(x,y),POWER(X,Y) 返回x的y次方 EXP(X) 返回e的X次方,其中e是一个常数...返回以10为底的X的对数,当X <= 0 时,返回的结果为NULL LOG2(X) 返回以2为底的X的对数,当X <= 0 时,返回NULL mysql...的二进制编码 HEX(x) 返回x的十六进制编码 OCT(x) 返回x的八进制编码 CONV(x,f1,f2) 返回f1进制数变成f2进制数 mysql
复数:复数由实数部分和虚数部分构成,例如 1 + 2j,实数部分是 1,虚数部分是 2。 1....复数乘法 >>> (1 + 2j) * 2(2 + 4j) 1.4 除法 整数除法 >>> 5 // 22 在 Python 中,// 是整数除法运算,运算结果是商的整数部分,是一个整数。...浮点数除法 >>> 5 / 22.5 在 Python 中,/ 是浮点数除法运算,运算结果是商,是一个浮点数。...函数 功能描述 abs(x) 返回数值的绝对值 ceil(x) 返回数值的上入整数 exp(x) 返回 e 的 x 次幂 fabs(x) 返回浮点数的绝对值 floor(x) 返回浮点数的下舍整数 log...小结 这节课我们讲解了 Python 基本数据类型数值的基本运算和类型转换和常用函数等。常用的函数需要大家自己多多使用,毕竟熟能生巧。
一、整数: 1)整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。...Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。...3)floor 返回数字的下舍整数 print(math.floor(num01)) print(math.floor(-12.1111111)) 4)modf 返回X的整数部分与小数部分,两部分的数值符合与...X相同,整数部分以浮点型表示 print(math.modf(num01)) print(math.modf(-12.12345678)) 返回,但是数值不是很准确: (0.3456789123456794..., 12.0) (-0.12345677999999971, -12.0) 三、布尔类型:False True 可以参与数学运算 is_small=True#存储的是1 is_first=False#存储的是
数值函数: 用来处理很多数值方面的运算,使用数值函数,可以免去很多繁杂的判断求值的过程,能够大大提高用户的工作效率。...1、ABS(x):返回 x 的绝对值 MySQL> select abs(-0.8),abs(0.8); +-----------+----------+ | abs(-0.8) | abs(0.8)...> select ceil(1); +---------+ | ceil(1) | +---------+ | 1 | +---------+ mysql> select ceil(1.23...0.14 | NULL | +-------------+----------+ 5、ROUND(X[,D]):将数字X四舍五入到指定的小数位数D ①如果不指定D,则默认为0 ②如果D是负数...| +---------------+-----------------+ 6、TRUNCATE(X,D):将数字X截断到指定的小数位数D(不四舍五入) ①如果D为0,表示不要小数 ②如果D是负数
ceil select ceil (1.1); 向下取整函数 -- floor select floor(1.9); 求模函数 -- mod select mod(6,4); 求模运算就是看余数是几...Exercises 通过数据库的西数,生成一个六位数的随机验证码 select round(rand() * 1000000,0); ⚠️注意:在正常情况下我们可以生成六位数,但是它有一个bug,因为rand生成的是小数...,如果小数为是0.006616这种×1000000以后再取整数位就会变成四位数而不是我们要的六位数。...解决方案:利用之前学的字符串填充函数,保证他是一个六位数。 修改以后的代码: select lpad(round(rand() * 1000000,0) , 6 , '0');
MySQL 数值类型溢出处理 当 MySQL 在某个数值列上存储超出列数据类型允许范围的值时,结果取决于当时生效的 SQL 模式 如果启用了严格的 SQL 模式,则 MySQL 会根据 SQL 标准拒绝带有错误的超出范围的值...,并且插入失败 如果没有启用任何限制模式,那么 MySQL 会将值裁剪到列数据类型范围的上下限值并存储 1....当超出范围的值分配给整数列时,MySQL 会存储表示列数据类型范围的相应端点的值 2....数值表达式求值过程中的溢出会导致错误,例如,因为最大的有符号 BIGINT 值是 9223372036854775807,因此以下表达式会产生错误 mysql> SELECT 9223372036854775807...9223372036854775808 | +-------------------------------------------+ 从另一方面说,是否发生溢出取决于操作数的范围,因此处理前一个表达式的另一种方法是使用精确值算术
MySQL 数值类型溢出处理 当 MySQL 在某个数值列上存储超出列数据类型允许范围的值时,结果取决于当时生效的 SQL 模式 如果启用了严格的 SQL 模式,则 MySQL 会根据 SQL 标准拒绝带有错误的超出范围的值...,并且插入失败 如果没有启用任何限制模式,那么 MySQL 会将值裁剪到列数据类型范围的上下限值并存储 当超出范围的值分配给整数列时,MySQL 会存储表示列数据类型范围的相应端点的值 当为浮点或定点列分配的值超出指定...数值表达式求值过程中的溢出会导致错误,例如,因为最大的有符号 BIGINT 值是 9223372036854775807,因此以下表达式会产生错误 mysql> SELECT 9223372036854775807...9223372036854775808 | +-------------------------------------------+ 从另一方面说,是否发生溢出取决于操作数的范围,因此处理前一个表达式的另一种方法是使用精确值算术...+ 1 | +---------------------------+ | 9223372036854775808.0 | +---------------------------+ 整数数值之间的减去
在MySQL中,整数和浮点数的定义都是有多种类型,整数根据实际范围定义,浮点数语言指定整体长度和小数长度。浮点数类型包括单精度浮点数(float型)和双精度浮点数(double型)。...MySQL 是支持 bigint 和 bigdecimal 数据类型存储的,当然还有 numberic,numberic 的作用与 bigdecimal 一致,当然如果这些数据类型在数据库中计算我觉得是不妥的
数据类型分类 对于数据类型分类,这里简单分为数值类型(如BIT,BOOL,INT),文本、二进制类型(如CHAR,VARCHAR),时间日期(DATE),String类型(如ENUM类型),这里简单了解一下即可...数值类型 不同的类型所占字节数是不一样的。...类型数值范围内的数据是可以的: mysql> insert into t1 values (-128); Query OK, 1 row affected (0.01 sec) mysql> insert...:范围是0-255:插入数值超过范围就会直接ERROR mysql> insert into t2 values(0); Query OK, 1 row affected (0.00 sec) mysql...反过来,我们如果已经有数据被插入到MySql中了,一定是插入的时候是合法的 所以MySql中一般而言,数据类型本身也是一种约束,约束程序员尽可能进行正确的插入,约束使用者,如果你不是一个很好的使用者,
一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE...DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值 INT 类型: 在 MySQL 中支持的 5 个主要整数类型是 TINYINT...这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。 MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。...对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。 DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。...忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 10,计算方法设置为 0。
MySQL不同存储引擎可能会有不同。下面的内容以InnoDB为主。 选择数据类型的步骤 确定合适的大类型:数字、字符串、时间、二进制 确定具体的类型:有无符号、取值范围、变长定长等。...MySQL检索CHAR不会使用末尾的空格。(列是定长的,MySQL没有存储写入的字符串有多长,只好一刀切,末尾的空格都忽略掉。) VARCHAR末尾的空格不会被“干掉”,检索的时候会用到。...一般情况下,你可以认为BLOB是一个更大的VARBINARY;TEXT是一个更大的VARCHAR。 MySQL只能对BLOB和TEXT的前面max_sort_length各字符进行排序和索引。...而MySQL在检索BIT的时候会将其当做字符串,而不是整数,这可能会导致一些奇怪的行为。 不建议使用这三个类型:用整数代替。 一些原则 选择最小的满足需求的数据类型。...一般情况下,应该尽量使用可以正确存储数据的最小数据类型。 简单就好。
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。...关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。...这说明它们没有字符集,并且排序和比较基于列值字节的数值值。 BLOB 是一个二进制大对象,可以容纳可变数量的数据。
但使用最多、最基本的仍然是文本数据。 1. MySQL的数据类型 在MySQL中有如下几种数据类型: (1)数值型 数值是诸如32 或153.4 这样的值。...数值前可放一个负号“-”以表示负值。 (2)字符(串)型 字符型(也叫字符串型,简称串)是诸如“Hello, world!”或“一个馒头引起的血案”这样的值,或者是电话号码87398413这样的值。...关键就在于:数值型的87398143是要参与计算的,比如它是金融中的一个货款总额;而字符型的87398143是不 参与计算的,只是表示电话号码,这样的还有街道号码、门牌号码等等,它们都不参与计算。 ...列(字段)的类型比数据类型更为细化,它精确地描述了给定表列(字段)可能包含的值的种类,如是否带小数、是否文字很多。 MySQL有整数和浮点数值的列类型,如表1所示。整数列类型可以有符号也可无符号。... 3.23 ) 表3:数值列类型的存储需求 MySQL提供了五种整型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT INT
MySQL数据类型 数据类型 指定值和范围 char String(0~255) varchar String(0~255) tinytext String(0~255) text String(0~65536...YYYY-MM-DD HH:MM:SS timestamp YYYYMMDDHHMMSS time HH:MM:SS enum 选项值之一 set 选项值子集 boolean tinyint(1) 数值数据类型...一个小的整数 MEDIUMINT 一个中等大小的整数 INT 一个标准整数 BIGINT 一个大整数 DECIMAL 定点数 FLOAT 单精度浮点数 DOUBLE 双精度浮点数 BIT 一个字节字段 字符串数据类型...格式的时间值 DATETIME YYYY-MM-DD hh:mm:ss格式的日期和时间值 TIMESTAMP YYYY-MM-DD hh:mm:ss格式的时间戳记值 YEAR YYYY或YY格式的年 空间数据类型...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 (...1 由此可见,tinyint unsigned是有符号的范围是0 ~ 255。...总结: 如果插入的数据超过MySQL数据类型的范围,那么MySQL就不让你插入,直接拦截,不让做对应的操作。...如果已经有数据被成功插入到MySQL中,那么插入的时候一定是合法的。 因此,MySQL中,一般而言,数据类型本身也是一种约束。...这种约束倒逼程序员,让程序员尽可能正确插入,如果不正确插入,MySQL也能保证插入的数据合法性。这样就能保证数据库中的数据是可预期完整的。
领取专属 10元无门槛券
手把手带您无忧上云