位类型:BIT BIT类型中存储的是二进制值,类似010110。...二进制字符串类型 长度 长度范围 占用空间 BIT(M) M 1 <= M <= 64 约为(M + 7)/8个字节 BIT类型,如果没有指定(...:31,测试: INSERT INTO test_bit1(f2) VALUES(31); [在这里插入图片描述] 超出后就会报错 [在这里插入图片描述] 注意:在向BIT类型的字段中插入数据时,一定要确保插入的数据在...BIT类型支持的范围内。...HEX()表示十六进制 mysql> SELECT * FROM test_bit1; +------------+------------+------------+ | f1 | f2
Mysql 的 bit 数据类型 bit类型 bit 类型不是对应true和false,也不是只有一位 示例 新建数据表test CREATE TABLE `test` ( `id` int(...20) NOT NULL, `codes` bit(8) NOT NULL, `remark` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE...结论 数字被转换成二进制 字符将被转换成ascii码 boolean 类型被转换成0或1 多选的应用 有以下选项:苹果(1),梨(2),西瓜(4),香蕉(8),可以选中其中任意几项,并使用一个字段保存...分别使用数字表示选项:苹果(1),梨(2),西瓜(4),香蕉(8) 转换成二进制为:苹果(0001),梨(0010),西瓜(0100),香蕉(1000) 将选中的数字相加(或进行位或运算),并存成bit
在上篇文章中介绍了String类型中常用的命令,但没有涉及到bit相关的命令,本文主要介绍下bit相关的操作命令。开发中有时这些命令的使用会更优效率。...BIT命令就是对这个二进制数据进行操作的。...位 GetBit命令 用于对 key 所储存的字符串值,获取指定偏移量上的位(bit) 127.0.0.1:6379> set k1 a OK 127.0.0.1:6379> getbit k1 0...SetBit命令 用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit),返回的结果是该位上原来的bit值。...性能 前面的上线次数统计例子,即使运行 10 年,占用的空间也只是每个用户 10*365 比特位(bit),也即是每个用户 456 字节。
对于一般的INT、CHAR、tinyint等数据类型,他们占用的存储空间都是以Byte字节为单位的,但是BIT类型由于只有0和1或者说false和true,这种情况只需要一个Bit位就可以表示了,那么在...SQL Server中BIT类型到底占用了多少空间?...实际上BIT类型占用的空间与BIT类型的列所在表的位置有关,有些情况下BIT占用了一个字节,有些情况下BIT实际占用了几个位(几个BIT类型的列共用一个字节)。下面就来具体分析一下: 1....单独的BIT类型的列将占用一个字节。所谓单独就是指一个BIT类型的列的左边定长列和右边定长列都不是BIT类型的列。...2.多个BIT类型的列之间使用变长数据类型列分开,则去掉变长列,然后看连续的BIT类型列的个数,每列占用一个位,如果多余了8列那就再占用更多的字节。
先看看BIT_AND(),BIT_OR(),BIT_XOR() 语法:BIT_AND(expr),BIT_OR(expr),BIT_XOR(expr) 现在有数据表如下: mysql>CREATE TABLE...test (cate VARCHAR(1), number INT); mysql>INSERT INTO test VALUES ->('a',111),('a',110),('a',100...), ->('a=b',000),('b',001),('b',011); mysql>SELECT * FROM test; +------+--------+ | cate | number...(),BIT_OR(),BIT_XOR()查询结果: mysql>SELECT cate, BIT_AND(number), BIT_OR(number), BIT_XOR(number) FROM test...() 语法:BIT_COUNT( expr ) 例: mysql>SELECT BIT_COUNT(7) AS a,BIT_COUNT(8) AS b; +---+---+ | a | b | +---
数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。...因为一个字节,占8bit;也就1个bit有0和1两种可能,8个bit就是2^8 = 256种可能,也就是0~255;但如果是有符号的话,就得拿一个1bit来存储这个负号,本来8bit只剩7bit,2^7...并且效果与 INT 数据类型相同。 关于flaot和double 在这里我建议,干脆忘记mysql有double这个数据类型。至于why?...复合类型 MySQL 还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。虽然这些类型在技术上是字符串类型,但是可以被视为不同的数据类型。...并且与 ENUM 类型相同的是任何试图在 SET 类型字段中插入非预定义的值都会使 MySQL 插入一个空字符串。
但是我的是anaconda虚拟环境下的,并没有后显示位数信息,输入Python后输入如下代码: import sys, platform platform.architecture() 我的输出是 ('64bit
转载自http://www.cnblogs.com/luyucheng/p/6289714.html 一、简介 MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引...为需要创建索引的字段列,该列必须从数据表中该定义的多个列中选择 4.index_name指定索引的名称,为可选参数,如果不指定,默认col_name为索引值 5.length为可选参数,表示索引的长度,只有字符串类型的字段才能指定索引长度...6.asc或desc指定升序或降序的索引值存储 三、索引类型 1.普通索引 是最基本的索引,它没有任何限制。
1.索引类型 1.1 普通索引 NORMAL: 是最基本的索引,它没有任何限制。 1.2 唯一索引 SPATIAL: 与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。
ENUM类型 ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。...其所需要的存储空间由定义ENUM类型时指定的成员个数决定。...文本字符串类型 长度 长度范围 占用的存储空间 ENUM L 1 <= L <= 65535 1或2个字节 当ENUM类型包含1~255个成员时,需要1...个字节的存储空间; 当ENUM类型包含256~65535个成员时,需要2个字节的存储空间。...ENUM类型的成员个数的上限为65535个。
定点数类型 1. 类型介绍 MySQL中的定点数类型只有 DECIMAL 一种类型。...定点数在MySQL内部是以字符串的形式进行存储,这就决定了它一定是精准的。...当数据的精度超出了定点数类型的精度范围时,则MySQL同样会进行四舍五入处理。 2....5,2) ALTER TABLE test_double2 MODIFY f1 DECIMAL(5,2); DESC test_double2; [在这里插入图片描述] 然后,再一次运行求和语句: mysql...FROM test_double2; +---------+ | SUM(f1) | +---------+ | 1.10 | +---------+ 1 row in set (0.00 sec) mysql
MySQL字段类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32...该节描述了这些类型如何工作以及如何在查询中使用这些类型。 char和varchar: 1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。...3.char类型的字符串检索速度要比varchar类型的快。...MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT
SET类型 SET表示一个字符串对象,可以包含0个或多个成员,但成员个数的上限为64。设置字段值时,可以取 取值范围内的 0 个或多个值。...注意:SET类型在选取成员时,可以一次选择多个成员,这一点与ENUM类型不同。...,MySQL会自动删除重复的成员#插入重复的SET类型成员时,MySQL会自动删除重复的成员 INSERT INTO test_set (s) VALUES ('A,B,C,A');[在这里插入图片描述...] 向SET类型的字段插入SET成员中不存在的值时,MySQL会抛出错误。...#向SET类型的字段插入SET成员中不存在的值时,MySQL会抛出错误。
MySQL支持的浮点数类型,分别是 FLOAT、DOUBLE、REAL。 FLOAT 表示单精度浮点数; DOUBLE 表示双精度浮点数; [在这里插入图片描述] REAL默认就是 DOUBLE。...数据精度说明 对于浮点类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节。...精度误差说明 浮点数类型有个缺陷,就是不精准。下面我来重点解释一下为什么 MySQL 的浮点数不够精准。...问题还是出在 MySQL 对浮点类型数据的存储方式上。 MySQL 用 4 个字节存储 FLOAT 类型数据,用 8 个字节来存储 DOUBLE 类型数据。...那么,MySQL 有没有精准的数据类型呢?当然有,这就是定点数类型:DECIMAL。
Mysql支持哪几种索引 索引是在MySql的存储引擎层中实现的,而不是在服务器层 从数据结构角度 1、B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理...,则MySQL自动为InnoDB表生成一个隐含字段作为主键,这个字段长度为6个字节,类型为长整形。...两种类型都有自己优缺点,选择那个完全要看自己的实际类弄。...,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。...MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。
JSON 类型 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。...在MySQL 5.7中,就已经支持JSON数据类型。...在MySQL 8.x版本中,JSON类型提供了可以进行自动验证的JSON文档和优化的存储结构,使得在MySQL中存储和读取JSON类型的数据更加方便和高效。...创建数据表,表中包含一个JSON类型的字段 js 。 CREATE TABLE test_json( js json ); 向表中插入JSON数据。...name":"xdr", "age":24, "address":{"province":"guangdong", "city":"shenzhen"}}'); [在这里插入图片描述] 当需要检索JSON类型的字段中数据的某个具体值时
整数类型 1. 类型介绍 整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。...(-12), (-128), (127) SELECT * FROM test_int1; [在这里插入图片描述] 当超出给定的范围时,就会出错 [在这里插入图片描述] [在这里插入图片描述] 在mysql...答案:不会对插入的数据有任何影响,还是按照类型的实际宽度进行保存,即显示宽度与类型可以存储的值范围无关。从MySQL 8.0.17开始,整数数据类型不推荐使用显示宽度属性。...中显式如下,MySQL8中不再显式范围) mysql> desc test_int11; +-------+--------------+------+-----+---------+-------+...所以,如果需要在MySQL数据库中保存非负整数值时,可以将整数类型设置为无符号类型。 int类型默认显示宽度为int(11),无符号int类型默认显示宽度为int(10)。
变长字符的长度标识:用1到2个字节表示实际长度(长度 >255 时,需要2个字节; <255 时,需要1个字节) NULL标识位:varchar字段定义中带有 default null 允许列空,则需要 1 bit...(3)虽然InnoDB内部支持 varchar 65535 字节的行大小,但是MySQL本身对所有列的合并大小施加了 65535 字节的行大小限制。...详情见例子 2.varchar 长度的编编限制: 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766; 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。...字符类型若为utf8mb4,每个字符最多占4个字节,最大长度不能超过16283。 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。...mysql> alter table t4 modify column c3 varchar(21813); ERROR 1118 (42000): Row size too large.
在MySQL中共有4中日志:错误日志、二进制日志、查询日志和慢查询日志 一、错误日志 错误日志名 host_name.err,并默认在参数DATADIR指定的目录中写入日志文件。...(B) PURGE MASTER LOGS TO 'mysql-bin.******' 命令,删除’*******'之前的日志。
空间类型 MySQL 空间类型扩展支持地理特征的生成、存储和分析。...MySQL中使用Geometry(几何)来表示所有地理特征。Geometry指一个点或点的集合,代表世界上任何具有位置的事物。...MySQL的空间数据类型(Spatial Data Type)对应于OpenGIS类,包括单值类型:GEOMETRY、POINT、LINESTRING、POLYGON以及集合类型:MULTIPOINT、...Geometry是所有空间集合类型的基类,其他类型如POINT、LINESTRING、POLYGON都是Geometry的子类。 Point,顾名思义就是点,有一个坐标值。...例如POINT(121.213342 31.234532),POINT(30 10),坐标值支持DECIMAL类型,经度(longitude)在前,维度(latitude)在后,用空格分隔。
领取专属 10元无门槛券
手把手带您无忧上云