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

聊一聊数据库(MySQL)设计中数据类型优化

例如,整型比字符操作代价更低;存储日期/时间应该用内置数据类型而不是字符串;存储 IP 地址时应该用整型而不是字符串。 避免 NULL 通常情况下,应该设置列为 NOT NULL。...MySQL 可以为整数类型制定宽度,例如 INT(11),但是并不会限制数值合法范围,只会控制某些交互工具用来显示字符个数,对于存储计算来说,INT(1) INT(20)是相同。...字符串类型 常用VARCHAR CHAR VARCHAR 存储可变长字符串 比定长类型省空间,越短字符串使用空间越少 使用 1 或 2 个额外字节记录字符串长度。...日期时间 DATETIME 可以保存 1001 到 9999 ,精度为秒 将日期时间封装到格式为 YYYYMMDDHHMMSS 整数中,与时区无关。...使用 8 个字节存储空间 TIMESTAMP 保存了 1970 1 1 日午夜以来秒数 只使用 4 个字节存储,因此范围会小很多(最多表示 1970 到 2038 时区有关 因为

87430

SQL数据库数据类型_数据表常见数据类型有哪些

日期时间类型 ● datetime datetime类型可表示日期范围175311日到99991231日日期时间数据,精确度为百分之三秒(3.33毫秒或0.00333 秒)。...前4字节用于存储基于190011日之前或之后天数,正数表示日期在190011日之后,负数则表示日期在190011日之前。后4个字节用于存储距12:00(24小时制)毫秒数。...●smalldatetime Smalldatetime与datetime数据类型类似,但日期时间范围 较小,表示190011日到207966日日期时间,存储长度为4字节。...●date date类型可表示从公元元年11日到99991231日期,表示形式与datetime数据类型日期部分相同,只存储日期数据,不存储时间数据,存储长度为3个字节。...但是datetime2类型取值范围更广,日期部分取值范围从公元元年11日到99991231日,时间部分取值范围00:00:00.0000000到23:59:59.999999。

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

    一脸懵逼学习oracle

    ,varchar2,long (1):当需要固定长度字符串时,使用char数据类型 (2):char数据类型存储字母数据值; (3):char数据类型列长度可以是1到2000个字节; (4):varchar2...[(p[,s])] : p表示精度,s表示小数点位数 10:日期时间数据类型存储日期时间值,包括,日,小时,分钟,秒 主要日期时间类型有: Date:存储日期时间部分,精确到整个秒...:字符日期     (1):字符日期要包含在单引号中     (2):要查询字符大小写敏感,日期格式敏感     (3):默认日期格式是DD-MON-RR(日--,'5-9-17','5-...    (1):Oracle内部使用数字存储日期:世纪,,日,小时,分钟,秒;          (2):默认日期格式是DD-MON-RR(日--格式):             可以只指定后两位在...,同时也适用于空值         NVL(expr1,expr2):将空值转换成一个已知值,可以使用数据类型日期,字符,数字。

    2.1K70

    零开发区块链应用(二)--mysql安装及数据库表安装创建

    AUTO_INCREMENT 定义列为自增属性,一般用于主键,数值会自动加 1。 PRIMARY KEY 关键字用于定义列为主键。您可以使用多列来定义主键,列间以逗号分隔。...有一些数据是要存储为数字,数字当中有些是要存储为整数、小数、日期型等... MySQL 支持多种数据类型,主要有数值类型、日期/时间类型字符串类型。...如何选择适合数据类型 为了更好提高系统性能,选择合适数据类型非常重要,以下几个简单原则有助于你更好做出选择: 更小通常是最好:越小,占用 cpu、磁盘内存越少; 尽量简单:简单数据类型可以减少...一个 dateTime 类型字段可以用一个 date 类型字段一个 time 类型字段代替。但是如果需要同时记录日期时间,选择 dateTime 类型是个不错选择。...varchar text:存变长大数据,速度慢,不存在空间浪费;一般用来直接存储一个比较大文本,比如说一篇文章,一篇新闻 ---- 本系列文章:零开发区块链应用(一)--golang 配置文件管理工具

    1.4K20

    MySQL建表数据类型选择

    这里有两个例子:一个是应该使用 MySQL 内建类型(date, time, datatime)而不是字符串来存储日期时间,另一个是应该用无符号整型存储 IP 地址。 尽量避免NULL。...字符串类型: varchar char 类型 varchar 类型用于存储可变长字符串,是最常见字符串数据类型。...(准确来说是 MySQL 4.1 以后版本 varchar 不会删除存储数据末尾空格) blob text 类型 blob text 都是为了存储很大数据而设计字符串数据类型,分别采用二进制字符方式存储...日期时间类型: MySQL 能存储最小时间粒度为秒。 datetime 保存范围 1001 到 9999 ,精度为秒。与时区无关。使用 8 字节存储空间。...timestamp 类型保存了 1970 1 1 日 午夜(格林尼治标准时间)以来秒数,它 unix 时间戳相同。使用 4 字节存储空间,范围 1970 到 2038

    5.2K10

    MySQL创建数据表MySQL数据类型

    * AUTO_INCREMENT定义列为自增属性,一般用于主键,数值会自动加1。 * PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。...MySQL 数据类型 MySQL中定义数据字段类型对你数据库优化是非常重要。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间字符串(字符)类型。...值 依赖于MD值 小数值 日期时间类型 表示时间值日期时间类型为DATETIME、DATE、TIMESTAMP、TIMEYEAR。...TIMESTAMP 4 1970-01-01 00:00:00/2038/结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038119日 凌晨...该节描述了这些类型如何工作以及如何在查询中使用这些类型。

    5.9K71

    常用数据库字段类型及大小比较_sql字段长度

    在 Microsoft SQL Server中,日期时间数据类型包括Datetime Smalldatetime 两种类型时,所存储日期范围是 1753 1 1 日开始,到9999 ...使用 Smalldatetime 数据类型时,所存储日期范围是 1900 1 1日 开始,到 2079 12 31 日结束(每一个值要求 4 个存储字节)。   ...例如,当执行 Set DateFormat YMD 之后,日期格式为 日 形式;当执行 Set DateFormat DMY 之后,日期格式为日 有年 形式 (5)数字数据类型   ...+38可变精度数字 datetime 175311日到999912日31日期时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 190011日到2079...Smalldatetime 保存定长日期时间数据,范围为199011日到公元207966日,精度为分钟间隔。 每行固定为4字节长度。

    3.6K10

    sql server中部分函数功能详解

    ()函数 DATEPART() 函数用于返回日期/时间单独部分,比如、日、小时、分钟等等。...data_type 目标数据类型。这包括 xml、bigint sql_variant。不能使用别名数据类型。有关可用数据类型详细信息,请参阅数据类型 (Transact-SQL)。...length 指定目标数据类型长度可选整数。默认值为 30。 style 指定 CONVERT 函数如何转换 expression 整数表达式。如果样式为 NULL,则返回 NULL。...分钟 mi, n 秒 ss, s 毫秒 ms 微妙 mcs 纳秒 ns 16. datepart() 定义用法 DATEPART() 函数用于返回日期/时间单独部分,比如、日、小时、分钟等等...rand()*10获取010之间一个数(小数) Select str(rand()*10)获取010之间一个数(整数) Select str(rand()*10000) 获取010000之间一个数

    1.5K30

    SQL Server 数据类型

    在 Microsoft SQL Server中,日期时间数据类型包括Datetime Smalldatetime 两种类型, Datetime所存储日期范围是 1753 1 1 日开始...Smalldatetime所存储日期范围是 1900 1 1日 开始,到 2079 12 31 日结束(每一个值要求 4 个存储字节)。   日期格式可以设定。...例如,当执行 Set DateFormat YMD 之后,日期格式为 日 形式;当执行 Set DateFormat DMY 之后,日期格式为日 有年 形式 (5)数字数据类型 数字数据只包含数字...null_type 表示该数据类型如何处理空值,必须使用单引号引起来,例如'NULL'、'NOT NULL'或者'NONULL'。   ...datetime 175311日到999912日31日期时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 190011日到207966日日期时间数据

    2.1K10

    MySQL数据类型概述-时间

    在MySQL中,日期时间数据类型用于存储日期、时间或日期时间值。日期时间数据类型在查询排序数据时非常有用,并且可以进行各种日期时间计算。...MySQL支持多种日期时间数据类型,包括DATE、TIME、DATETIME、TIMESTAMPYEAR。DATE类型DATE类型用于存储日期值,如、日。...DATETIME类型DATETIME类型用于存储日期时间值,如、日、小时、分钟、秒。...但是,TIMESTAMP类型存储时间值范围只能是197011日00:00:01 UTC到2038119日03:14:07 UTC,存储空间为4个字节。...DATE_FORMAT函数将date_of_birth列格式化为'YYYY-MM-DD'字符串。WHERE子句使用YEAR函数选择出生日期为1990记录。

    85330

    Oracle三大类型(varchar2,number,date)转换

    -4-15' Oracle如何隐式转换:1)=号二边类型是否相同2)如果=号二边类型不同,尝试去做转换3)在转换时,要确保合法合理,否则转换会失败,例如:12不会有32天,一中不会有13 ...【1】查询19801217日入职员工(方式一:日期隐示式转换)select * from emp where hiredate = '17-12-80';【2】使用to_char(日期,'格"常量...      datetime      175311日到999912日31日期时间数据,最小时间单位为百分之三秒或3.33毫秒      smalldatetime      1900...11日到207966日日期时间数据,最小时间单位为分钟      timestamp      时间戳,一个数据库宽度唯一数字      uniqueidentifier     ...NUMBER  表示使用默认值,即等同于NUMBER(5);   LONG  可变长度字符数据,其长度可达2G个字节;  DATE  有效日期范围从公元前471211日到公元后4712

    1.9K20

    Extreme DAX-第 2 章 模型设计

    在进行数据分析时,您往往不会单个行中检索所有列数据,相反,您可能对同时多个行中获取数据感兴趣,并且往往只分析其中一列或几列数据。...与 Excel不同点在于基本参考日期:在 Power BI 模型中,数字 1 对应于 1899 12 31 日,而在 Excel 中,数字 1 对应于 1900 1 1 日(均在零点)...小数是在此基础上添加二十四小时制一天中时间;例如,值 2.5 表示 1900 1 1 日中午。 您有三种选择来存储日期/时间数据。日期/时间数据类型同时存储日期时间。...很多时候这是一种有效方式,但是如果选择像 9999 12 31 日这样日期,则肯定无法享受对日期列进行数值编码优势。...的确是这样,除非你开始使用 Power Pivot,而它Power BI模型本质上而言是等效。在正式讨论 Power BI 里方法之前,让我们看一下如何在关系型数据库中处理数据。

    3.4K10

    SQL SERVER数据类型

    在 Microsoft SQL Server中,日期时间数据类型包括Datetime Smalldatetime 两种类型时,所存储日期范围是 1753 1 1 日开始,到9999 ...使用 Smalldatetime 数据类型时,所存储日期范围是 1900 1 1日 开始,到 2079 12 31 日结束(每一个值要求 4 个存储字节)。   日期格式可以设定。...例如,当执行 Set DateFormat YMD 之后,日期格式为 日 形式;当执行 Set DateFormat DMY 之后,日期格式为日 有年 形式 (5)数字数据类型   数字数据只包含数字...null_type 表示该数据类型如何处理空值,必须使用单引号引起来,例如’NULL’、’NOT NULL’或者’NONULL’。   ...datetime 175311日到999912日31日期时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 190011日到207966日日期时间数据

    1.5K20

    sql 时间总结

    (本贴是网上找了几个比较好帖子总合了一下并做了一下修改) 下表列出了 Microsoft® SQL Server™ 识别的日期部分缩写。...206天 DatePart(yyyy,'2005-7-25 22:56:32')返回值为 2005即2005 一个第一天     第一个例子,我将告诉你如何当前日期去这个月最后一天。...请注意:这个例子以及这篇文章中其他例子都将只使用DATEDIFFDATEADD函数来计算我们想要日期。每一个例子都将通过计算但前时间间隔,然后进行加减来得到想要计算日期。    ...-日,然后把当天时间也格式化成 -日格式....不能使用用户定义数据类型。第二个参数是你要转换字段,我这里是[time]。

    1.9K90

    教训 ,一次订单号重复事故我差点被开除

    总的来说,UUID 码由以下三部分组成: 当前日期时间 时钟序列 全局唯一 IEEE 机器识别码(如果有网卡网卡获得,没有网卡则通过其他方式获得) UUID 标准形式包含 32 个 16 进制数字...41 位二进制长度最多能表示2^41 -1毫秒即 69 ,所以雪花算法最多能正常使用 69 ,为了能最大限度使用该算法,在使用时候,应该为其指定一个开始时间,不然会发生重复!...凡客诚品银泰网订单号都含有 0522,这是因为这 2 张订单都是2013522号下订单。...基本猜测一下,凡客订单规则是:业务编码+后2位++日+订单数;泰网订单号规则:第三位数+业务编码+后1位++日+订单数;而京东商城苏宁易购订单号看不出规则。...同样,借鉴小米订单号规则,我们也可以生成同样订单号,实现过程如下: //获取当前时间 Date currentTime = new Date(); //格式化当前时间为【后2位++日】 String

    1.3K20

    MySQL数据库中5种数据类型简介

    NUMBERIC 为了能对字段所存放数据有更多控制,你可以使用NUMERIC型数据来同时表示一个数整数部分小数部分。NUMERIC型数据使你能表示非常大数——比INT型数据要大得多。...当定义一个NUMERIC型字段时,你需要同时指定整数部分大小小数部分大小。...MySQL数据类型之五日期型 DATETIME VS SMALLDATETIME 一个 DATETIME型字段可以存储日期范围是175311日第一毫秒到99991231日最后一毫秒。...如果你不需要覆盖这么大范围日期时间,你可以使用SMALLDATETIME型数据。...一个SMALLDATETIME型字段能够存储190011日到207966日日期,它只能精确到秒。 DATETIME型字段在你输入日期时间之前并不包含实际数据,认识这一点是重要

    1.7K20

    MySQL数据库常用概念和数据类型

    相同数据库中不能两次使用相同表名,不同数据库中可以使用相同表名。通俗讲表就是有行有列以表格形式, 也就是二维表形式进行组织存储数据。...3.2 行(Row)表中一个记录,表中数据都是按行存储,垂直列为表列,水平行为表行。二. 数据类型(DataType)所容许数据类型,数据库中每个列都有相应数据类型。...不同数据类型列,存储不同格式数据。MySQL支持多种类型,大致可以分为三类:数值、日期/时间字符串(字符)类型。对于我们约束数据类型有很大帮助。1....-01-01 00:00:00/2038 结束时间是第 2147483647 秒北京时间 2038-1-19 11:14:07,格林尼治时间 2038119日 凌晨 03:14:07YYYYMMDD...)0-65535字节二进制形式长文本数据TEXT0-65535字节长文本数据● CHARVARCHAR类型类似,但它们保存检索方式不同。

    76620

    Java面试手册:数据库 ②

    主键 null值 数据类型 字段长度 基本数据类型 字符串类型(char固定长度,varchar可变长度,用多少给多少) 数值类型 日期时间类型 规划 完整性约束 实体完整性:又称为行完整性,要求表中不能存在完全相同行...curdate() current_date() 获取当前日期 curtime() current_time() 获取当前时间 now() 获取当前日期+时间: select...删除表:删除表要先删除表,再删除主表 , 表操作 创建表:CREATE TABLE 表名(字段名 字段类型 约束...) 数值类型 ? 日期时间 ? 字符串类型 ?...- money:十进制货币数字 - date类型: - datetime:(173311日--99991231日,精度3.33毫秒),8 bytes...- date:仅存储日期,000111日到99991231日,3bytes - 其他数据类型 - uniqueldentifier 存取全局标识符(GUID)

    1.3K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券