首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql数据类型的选择

1、整数和浮点数 如果不需要小数部分,就是用整数来保存数据;如果需要小数部分,就是用浮点数。对于浮点数据列,存入的数值会对该列定义的小数位进行四舍五入。...2、浮点数和定点数 浮点数FLOAT、DOUBLE相对于定点数DECIMAL的优势是:在长度一定的条件下,浮点数能表示更大的数据范围。...5、ENUM与SET ENUM只能取单个值,它的数据列表是一个枚举集合。它的合法列表最多有65535个成员。...因此,在需要从多个值中选取一个时,可以使用ENUM.比如性别字段适合定义为ENUM类型,每次只能从男或女中取一个值。 SET可取多个值。它的合法列表最多有64个成员。空字符串也是一个合法的SET值。...在需要取多个值的时候,时合使用SET类型。比如,一个人的兴趣爱好,最好使用SET类型。 ENUM和SET的值是以字符串的形式出现的,但是在MYSQL内部以数值的形式存储它们。

1K20

MySQL数据类型的优化选择

:精确(只是存储格式,在计算中会转为double类型) 浮点类型在存储同样范围的值时,通常比decimal使用更少的空间。...Char:定长字符串(MySQL会删除所有末尾空格) 优点:不易产生碎片 适用:存储密码的MD5值;经常变更的数据; 大型数据类型: Blob:二进制 Text:字符 特殊性:mysql将blob和text...,也不能使用这些索引进行排序; 枚举类型ENUM: mysql在存储枚举类型时非常紧凑; Mysql在内部会将每个值在列表中的位置保存为整数,并且在表的.frm文件中保存“数字-字符串”的映射关系的查找表...列 关联 varchar列  >  enum列 关联 varchar列 日期时间类型: Datetime:8字节;与时区无关;保存大范围的值,从1001年到9999年,精度为秒; Timestamp(尽量使用...):4字节;依赖于时区;保存1970.1.1以来的秒数;列默认为not null; Timestamp的特殊性:如果插入数据时没有指定第一个timestamp列的值,mysql则设置这个值为当前时间;

72220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL(1)——数据类型的选择(一)

    一、三个原则 更小的通常更好:在符合条件的情况下,选择最小的数据类型更好。因为它们占用更少的磁盘、内存和 CPU 缓存。 简单就好:简单的数据类型的操作通常需要更少的 CPU 周期。...不过一般将 NULL 的列改为非 NULL 性能提升比较小,在对应列建索引时应避免设计为可为 NULL。 二、整数类型 存储整数,可以使用的类型及存储空间如下 ?...数据量大的情况下,可以使用 BIGINT 替代,进行相应位数的乘除倍数就行,存储比 DECIMAL 小,计算精确。...③ InnoDB 会把过长的 VARCHAR 类型存储为 BLOB char ① char 类型是定长的。...'varchar类型' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 插入数据 insert into char_test(char_col, varchar_col

    1.1K20

    MySQL建表数据类型的选择

    首先数据选择有几个简单原则: 更小的通常更好。一般情况下,应该尽量使用可以正确存储数据的最小数据类型。例如只需要存 0~200,tinyint unsigned 更好。...更小的数据类型通常更快,因为它们占用更少的磁盘、内存和 CPU 缓存,并且处理时需要的 CPU 周期也更少。 简单就好。简单数据类型的操作通常需要更少的 CPU 周期。...主键自增 id 适合设置为 unsigned 属性的 int 类型。...(准确来说是 MySQL 4.1 以后的版本 varchar 不会删除存储数据的末尾空格) blob 和 text 类型 blob 和 text 都是为了存储很大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储...枚举字段是按照内部存储的整数而不是定义的字符串进行排序的。 日期和时间类型: MySQL 能存储的最小时间粒度为秒。 datetime 保存范围从 1001 年到 9999 年,精度为秒。与时区无关。

    5.2K10

    MySQL优化:选择合适的数据类型

    前言 MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。...更小的通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。...但是要确保没有低估需要存储的值的范围,因为在schema中的多个地方增加数据类型的范围是一个非常耗时和痛苦的操作。如果无法确定哪个数据类型是最好的,就选择你认为不会超过范围的最小类型。...在为列选择数据类型时,第一步需要确定合适的大类型:数字、字符串、时间等。下一步是选择具体类型。...很多MySQL的数据类型可以存储相同类型的数据,只是存储的长度和范围不一样,允许的精度不同,或者需要的物理空间(磁盘和内存空间)不同。相同大类型的不同子类型数据有时也有一些特殊的行为和属性。

    80310

    数据结构:选择类型排序的总结(考研)

    选择排序包括:选择排序,双选择排序以及堆排序。 选择排序的核心是每一趟排序中查找最小值或者最大值的索引,然后与边界的位置进行交换。...下面看一下常见的选择类型的排序。..., a[minIndex]); swap(a[right], a[maxIndex]); left ++, right --;//缩小范围 } } (3)堆排序 堆排序在底层中使用了堆这样的数据结构...shiftUp操作的时间复杂度为O(logn),外层循环的时间复杂度为O(n),因此第一层总的时间复杂度为O(n * logn), 同样第二层循环,外层循环的时间复杂度为O(n), 内层extractMin...Heap{ private: int cnt;//当前堆中的节点个数 int capacity;//堆的容量 T *data;//存放数据的线性结构 void shiftDown(int

    29310

    数据库MySQL-选择合适的数据类型

    三、数据库结构的优化 1、选择合适的数据类型 1、数据类型选择 数据类型的选择,重点在于“合适”二字,如何确定选择的数据类型是否合适了? 1、使用可以存下你的数据的最小的数据类型。...(时间类型数据:可以使用varchar类型,可以使用int类型,也可以使用时间戳类型) 2、使用简单的数据类型,int要比varchar类型在mysql处理上简单。...(int类型存储时间是最好的选择) 3、尽可能的使用not null定义字段。...(innodb的特性所决定,非not null的值,需要额外的在字段存储,同时也会增加IO和存储的开销) 4、尽量少用text类型,非用不可时最好考虑分表。...结论: 1、unix_timestamp()函数是将日期格式的数据转换为int类型 2、FROM_UNIXTIME(timestr)函数是将int类型转换为时间格式 案例二:ip地址的存储 在我们的外部应用中

    2.1K30

    数据库规范与数据类型选择

    数据库表字段命名规范 注:SQL命名类型采用Oracle 注:黄色部分为争议部分 数据库命名规范 采用英文单词命名,多个单词使用_拼接,避免使用数字 命名简单明了,避免生僻单词 数据表命名规范 全部使用英文小写命名...遵循以上规范的同时提高实用性,比如适当使用缩写,例如:定单的名称为:po_order,则采购定单的明细表为:po_orderdtl  遵循以上规范的同时命名简单明了,避免生僻单词 应有描述信息 命名建议采用...系统 / 模块+功能 人事组织 hr_org,通用表使用sys_ ,base_ 数据库字段命名规范 全部使用英文小写命名,非特殊情况避免大写和数字 使用单词命名,禁止使用拼音和中文,或者混合命名的情况如...,字段名避免太过冷门生僻和过长如:职能向阳班期数 sun_classes  船长训练营期数:captain_classes 不要在字段名中包含数据类型,出身日期 brith_date  Date 情况除外...BINARY_DOUBLE:BINARY_DOUBLE是一种64位双精度浮点数数据类型。每个BINARY_DOUBLE值需要8个字节。在NUMBER列中,浮点数具有小数精度。

    1.2K31

    【Windows 逆向】Cheat Engine 数据挖掘搜索方法和技巧 ( 数值类型选择 | 字符串数值类型选择 | 全部数值类型模糊选择 )

    , 8 字节 , 浮点数 , 双浮点数 , 字串 , 字符数组 , 全部 , 分组 等类型 ; 常见的数据类型 : 子弹数量一般是 4 字节 ; 坐标位置等数据一般是为浮点数或双精度浮点数 ; 名称标题一般是字符串类型...; 需要通过经验 , 猜测 , 挖掘对应的数据类型 ; 二、字符串数值类型选择 ---- 查找玩家昵称 “CocO” , 数值类型选择 " 字串 " , 扫描类型选择 " 搜索文字 " ; 将搜索出的内存地址都拉下去..., 全选 , 然后右键菜单选择更改记录 , 类型 ; 将字符串长度改为 10 , 查看其中的内容 ; 选择更改数值为 Han , 则玩家名称改为 Han ; 三、全部数值类型模糊选择 ---...- 如果是单字节数据 , 或者数据只占几位 , 这就比较难找 ; 假如不知道数据类型 , 也不知道数据的值 , 如 3 维坐标 , 不知道具体的值和类型 , 可以使用下面的方法 ; 扫描类型设置为 "...未知的初始数值 " , 数值类型设置为 " 全部 " ; " 扫描类型 " 可以选择 变动的数值 / 未变动的数值 , 减少的数值 / 增加的数值 , 数值增加了… / 数值减少了 … 等情况 ;

    5.2K20

    【C 语言】数据类型本质 ( 数据类型别名 | typedef 关键字 | 为复杂数据类型设置别名 | 为简单数据类型设置别名 )

    文章目录 一、typedef 关键字 1、为复杂数据类型设置别名 2、为简单数据类型设置别名 二、代码示例 一、typedef 关键字 ---- 1、为复杂数据类型设置别名 使用 typedef 关键字为...复杂数据类型 定义别名 : 结构体前面加上 typedef 关键字 , 结构体类型声明最后带上 数据类型别名 ; 注意 : 定义的别名 可以与 结构体类型名称 相同 ; /* * 定义结构体, 并且为其定义别名...* 别名可以与结构体的名字相同 * 将 struct student2 数据类型重命名为 student2 类型 * 可以直接使用 student2 作为数据类型 , * 不比带上 struct...typedef 定义别名 , 定义类型时 , 必须带 struct 关键字 , 如下 : struct student2 s2; 2、为简单数据类型设置别名 使用 typedef 关键字 , 为简单类型进行重命名..., 重命名的 数据类型的别名 , 使用方式 与 简单类型 一模一样 ; /* * 对简单类型进行重命名 * 将 int 数据类型重命名为 u_32 类型 */ typedef int u_32;

    60610

    picker组件选择类型的功能

    在部分,定义了组件的数据部分。visitTypeList数组存储了所有可选类型的选项,每个选项包含value和label两个属性。...selectedText用于显示当前选中的类型文本,初始值是"请选择类型"。visitType表示当前选中的类型的值,默认为0。...在onLoad生命周期钩子中,将visitType的值设置为7,这是在编辑模式下的一个示例。 在methods中定义了visitTypeChange方法,当用户选择了类型时会触发该方法。...方法中通过e.detail获取选择器的值,然后根据值从visitTypeList中获取对应的类型值和文本,并更新visitType和selectedText的值。...这个组件可以用于在界面上选择不同的类型,并根据选择的类型进行相应的处理。

    18710

    为 Redis 添加 JSON 数据类型

    简介 Redis 本身有比较丰富的数据类型,例如 String、Hash、Set、List JSON 是我们常用的数据类型,当我们需要在 Redis 中保存 json 数据时是怎么存放的呢?...一般是用 String 或者 Hash,但还是不太方便,无法灵活的操作 json 数据 在 Redis 4.0 中,有一个重大改进:modules 模块系统,可以让我们开发新的功能,集成到 redis...中 rejson 就是一个新的模块,为 redis 提供了 json 存储能力 2....是json文档的root,后面的一串是具体的 json 数据值 第二条命令是获取 key 为 object 的json数据 2.2)json 内部操作 获取某字段的值 127.0.0.1:6379> JSON.GET...object "{\"foo\":\"bar\",\"ans\":42,\"hi\":\"hello\"}" 这个命令使用 del 把 root 下的 name 字段删除了 数字操作 ans 字段是数字类型

    13K60

    自动为PostgreSQL数据库生成类型

    JavaScript 开发人员选择此语法而不是“原始 SQL”的原因有很多,根据我的观察,这些原因大致可分为三类: 我没时间学习 SQL。 我不想学习 SQL。 SQL 不是类型安全的。 1....因此,可以理解为什么许多 JavaScript 开发人员会选择使用 SamQL-Jackson 而不是“原始 SQL”,因为许多这些 JavaScript 数据库供应商在其客户端和 SDK 中内置了类型安全性...值得注意的是,Supabase 和 Xata 都可以使用“普通”SQL 进行查询,仅供参考! 无论如何,如果你决定采用“原始 SQL”路线并且需要类型,这里有几个选项供你选择。...Postgre 数据库模式匹配的 TypeScript 类型。...文件,其中包含数据库中所有表和列的所有类型。

    9510

    选择合适大小的整数类型:以效率和准确性为目的

    一、问题背景 在编程中,整数的选择可能看似微不足道,但实际上,它涉及内存使用、性能和准确性的关键问题。选择过大的类型可能会浪费内存和处理能力,而选择过小的类型可能导致数据溢出。...了解您的数据 分析您的数据和应用场景是选择合适整数类型的第一步。了解可能的最大和最小值有助于确定合适的类型。 2. 选择合适的类型 如果您的值在0到255之间,可以选择uint8。...考虑未来扩展 在选择整数类型时,留出一些余地以容纳未来数据范围的可能扩展也是明智的。...uint32 = 123456 四、总结 选择合适大小的整数类型不仅可以提高效率,还可以确保数据的准确性。...通过了解数据的特性和需求,我们可以作出明智的决策,确保我们的代码既高效又可靠。 通过合理选择整数类型,您将在节省资源和保持代码可靠性之间找到平衡点。希望这篇文章能为您的编程实践提供有用的指导。

    13320

    MySQL数据类型选择「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 前言 在MySQL中,选择正确的数据类型,对于性能至关重要。...在MySQL数据类型设置方面,尽量采用更小的数据类型,因为它们占用的存储空间更小,通常有更好的性能,花费更少的硬件资源。并且,尽量把字段定义为NOT NULL,避免使用NULL。...整数通常是最佳的数据类型,因为它速度快,并且能使用AUTO_INCREMENT。...建议用DATE数据类型来保存日期。MySQL中默认的日期格式是yyyy-mm-dd。 用MySQL的内建类型DATE、TIME、DATETIME来存储时间,而不是使用字符串。...当数据格式为TIMESTAMP和DATETIME时,可以用CURRENT_TIMESTAMP作为默认(MySQL5.6以后),MySQL会自动返回记录插入的确切时间。

    84730
    领券