当前位置: 首页 > news >正文

房地产公司如何网站建设优化搜狗排名

房地产公司如何网站建设,优化搜狗排名,家电网站建设,安宁网站建设目录 一、数据类型概述 1.MySQL中的数据类型 二、整型 1.数据类型可选属性 2.使用建议 三、浮点数、定点数、位类型 1.类型介绍 2.浮点类型 3.定点数类型 4.位类型 四、日期时间类型 1.YEAR 2.DATE 3.TIME 4.DATETIME 5.TIMESTAMP 6.TIMESTAMP和DATETIME的区别…

目录

一、数据类型概述

1.MySQL中的数据类型

二、整型

1.数据类型可选属性

2.使用建议

三、浮点数、定点数、位类型

1.类型介绍

2.浮点类型

3.定点数类型

4.位类型

四、日期时间类型

1.YEAR

2.DATE

3.TIME

4.DATETIME

5.TIMESTAMP

6.TIMESTAMP和DATETIME的区别

五、文本字符串类型

1.CHAR与VARCHAR

2.TEXT

3.ENUM

4.SET

六、二进制类型与JSON类型

1.BINARY类型和VARBINARY类型

2.BLOB类型

TEXT和BLOB的使用注意事项

3.JSON类型


一、数据类型概述

1.MySQL中的数据类型

二、整型

mysql8.0定义数据超过范围会默认最大值

mysql5.7定义数据超过范围会报错

mysql5.7在定义类型后面会跟一个括号,括号里面的数代表可以显示数据的宽度(算正负号位)

1.数据类型可选属性

M:表示显示宽度

ZEROFILL:补位,不足x位的前面用0补充,使用时自动添加“UNSIGNED”

UNSIGNED:无符号,即非负数

2.使用建议

三、浮点数、定点数、位类型

1.类型介绍

REAL默认就是DOUBLE,但如果把SQL模式设定为启用“REAL_AS_FLOAT”,那么MySQL就会默认是FLOAT。

SET sql_mode = "REAL_AS_FLOAT";

2.浮点类型

小数位如果超出位数,会自动进行四舍五入。

浮点类型会出现误差,尽量不要进行等号判断

MySQL 存储浮点数的格式为: 符号(S)、尾数(M)和 阶码(E)。因此,无论有没有符号,MySQL 的

浮点数都会存储表示符号的部分。因此,所谓的无符号数取值范围,其实就是有符号数取值范围大

于等于零的部分。

3.定点数类型

定点数在MySQL底层使用字符串存储

浮点数VS定点数

浮点数相对于定点数的优点是在长度一定的情况下,浮点类型取值范围大,但是不精准,适用于需

要取值范围大,又可以容忍微小误差的科学计算场景(比如计算化学、分子建模、流体动力学等)

定点数类型取值范围相对小,但是精准,没有误差,适合于对精度要求极高的场景(比如涉及金额

计算的场景)

“由于 DECIMAL 数据类型的精准性,在我们的项目中,除了极少数(比如商品编号)用到整数类型

外,其他的数值都用的是 DECIMAL,原因就是这个项目所处的零售行业,要求精准,一分钱也不

能差。”

4.位类型

默认为1位

四、日期时间类型

1.YEAR

默认为4位

 以2位字符串格式表示YEAR类型,最小值为00,最大值为99

  • 当取值为01-69时,表示2001到2069
  • 当取值为70-99时,表示1970到1999
  • 当取值整数的0或00添加,表示0000年
  • 当取值是日期/字符串添加'0',表示2000年

不建议使用2位格式

2.DATE

存在隐式转换

3.TIME

TIME类型用来表示时间,不包含日期部分。在MySQL中,需要3个字节 的存储空间来存储TIME类

型的数据,可以使用“HH:MM:SS”格式来表示TIME类型,其中,HH表示小时,MM表示分钟,SS

表示秒。

在MySQL中,向TIME类型的字段插入数据时,也可以使用几种不同的格式。

  • 可以使用带有冒号的字符串,比如'D HH:MM:SS'、'HH:MM:SS'、'HH:MM'、'D HH:MM'、'D HH'或'SS'格式,都能被正确地插入TIME类型的字段中。其中D表示天,其最小值为0,最大值为34。如果使用带有D格式的字符串插入TIME类型的字段时,D会被转化为小时,计算格式为D*24+HH。当使用带有冒号并且不带D的字符串表示时间时,表示当天的时间,比如12:10表示12:10:00,而不是00:12:10。
  • 可以使用不带有冒号的字符串或者数字,格式为' HHMMSS'或者 HHMMSS。如果插入一个不合法的字符串或者数字,MySQL在存储数据时,会将其自动转化为00:00:00进行存储。比如1210,MySQL会将最右边的两位解析成秒,表示00:12:10,而不是12:10:00。
  • 使用CURRENT_TIME()或者 NOW(),会插入当前系统的时间。

4.DATETIME

DATETIME类型在所有的日期时间类型中占用的存储空间最大,总共需要8个字节的存储空间。在格式上为DATE类型和TIME类型的组合,可以表示为YYYY-MM-DD HH:MM:SS,其中YY表示年份,MM表示月份,DD表示日期,HH表示小时,MM表示分钟,SS表示秒。

在向DATETIME类型的字段插入数据时,同样需要满足一定的格式条件。

  • 以 YYYY-MM-DD HH:MM:SS格式或者 YYYYMMDDHHMMSS 格式的字符串插入DATETIME类型的字段时,最小值为1000-01-01 00:00:00,最大值为9999-12-03 23:59:59.
  • 以YYYYMMDDHHMMSS格式的数字插入DATETIME类型的字段时,会被转化为YYYY-MM-DD HH:MM:SS格式。
  • 以 YY-MM-DD HH:MM:SS格式或者 YYMMDDHHMMSS 格式的字符串插入DATETIME类型的字段时,两位数的年份规则符合YEAR类型的规则,00到69表示2000到2069;70到99表示1970到1999。
  • 使用函数 CURRENT_TIMESTAMP()和NOW(),可以向DATETIME类型的字段插入系统的当前日期和时间。

5.TIMESTAMP

TIMESTAMP类型也可以表示日期时间,其显示格式与DATETIME类型相同,都是YYYY-MM-DD HH:MM:SS,需要4个字节的存储空间。但是TIMESTAMP存储的时间范围比DATETIME要小很多,只能存储“1970-01-01 00:00:01UTC”到“2038-01-19 03:14:07 UTC”之间的时间。其中,UTC表示世界统一时间,也叫作世界标准时间。

存储教据的时候需要对当前时间所在的时区进行转换,查询数据的时候再将时间转换回当前的时区,因此使用TIMESTAMP存储的同一个时间值,在不同的时区查询时会显示不同的时间。

向TIMESTAMP类型的字段插入数据时,当插入的数据格式满足Y-MM-DD HH:MM:SS和YYMMDDHHMMSS时,两位数值的年份同样符合YEAR类型的规则条件,只不过表示的时间范围要小很多。

如果向TIMESTAMP类型的字段插入的时间超出了TIMESTAMP类型的范围,则MVSOL会抛出错误信息。

6.TIMESTAMP和DATETIME的区别

  • TIMESTAMP存储空间比较小,表示的日期时间范围也比较小
  • 底层存储方式不同,TIMESTAMP底层存储的是毫秒值,距离1970-1-10:0:00毫秒的毫秒值。
  • 两个日期比较大小或日期计算时,TIMESTAMP更方便、更快。
  • TIMESTAMP和时区有关。TIMESTAMP会根据用户的时区不同,显示不同的结果。而DATETIME则只能反映出插入时当地的时区,其他时区的人查看数据必然会有误差的。

五、文本字符串类型

1.CHAR与VARCHAR

  • CHAR(M)类型一般需要预先定义字符串长度。如果不指定(M),则表示长度默认是1个字符
  • 如果保存时,数据的实际长度比CHAR类型声明的长度小,则会在右侧填充 空格以达到指定的长度。当MySQL检索CHAR类型的数据时,CHAR类型的字段会去除尾部的空格 
  • 定义CHAR类型字段时,声明的字段长度即为CHAR类型字段所占的存储空间的字节数

2.TEXT

由于实际存储的长度不确定,MySQL 不允许 TEXT 类型的字段做主键。遇到这种情况,你只能采用 CHAR(M),或者 VARCHAR(M) 。

TEXT文本类型,可以存比较大的文本段,搜索速度稍慢,因此如果不是特别大的内容,建议使用CHAR,VARCHAR来代替。还有TEXT类型不用加默认值,加了也没用。而且text和blob类型的数据删除后容易导致“空洞”,使得文件碎片比较多,所以频繁使用的表不建议包含TEXT类型字段,建议单独分出去,单独用一个表。

3.ENUM

ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。

忽略大小写

4.SET

SET表示一个字符串对象,可以包含0个或多个成员,但成员个数的上限为64。设置字段值时,可以取取值范围内的0个或多个值。

SET类型在存储数据时成员个数越多,其占用的存储空间越大。注意:SET类型在选取成员时,可以一次选择多个成员,这一点与ENUM类型不同。

六、二进制类型与JSON类型

1.BINARY类型和VARBINARY类型

  • BINARY和VARBINARY类似于CHAR和VARCHAR,只是它们存储的是二进制字符串。
  • BINARY (M)为固定长度的二进制字符串,M表示最多能存储的字节数,取值范围是0~255个字符。如果未指定(M),表示只能存储1个字节 。例如BINARY (8),表示最多能存储8个字节,如果字段值不足(M)个字节,将在右边填充"0'以补齐指定长度。
  • VARBINARY(M)为可变长度的二进制字符串,M表示最多能存储的字节数,总字节数不能超过行的字节长度限制65535,另外还要考虑额外字节开销,VARBINARY类型的数据除了存储数据本身外,还需要1或2个字节来存储数据的字节数。VARBINARY类型 必须指定(M),否则报错。

2.BLOB类型

  • BLOB是一个 二进制大对象,可以容纳可变数量的数据。
  • MySQL中的BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB 4种类型,它们可容纳值的最大长度不同。可以存储一个二进制的大对象,比如 图片、 音频 和 视频 等。
  • 需要注意的是,在实际工作中,往往不会在MSQL数据库中使用BLOB类型存储大对象数据,通常会将图片、音频和视频文件存储到 服务器的磁盘上,并将图片、音频和视频的访问路径存储到MySQL中。
TEXT和BLOB的使用注意事项
  • BLOB和TEXT值也会引起自己的一些问题,特别是执行了大量的删除或更新操作的时候。删除这种值会在数据表中留下很大的" 空洞",以后填入这些"空洞"的记录可能长度不同。为了提高性能,建议定期使用 OPTIMIZETABLE 功能对这类表进行 碎片整理 。
  • 如果需要对大文本字段进行模糊查询,MSOL提供了 前缀索引。但是仍然要在不必要的时候避免检索大型的BLOB或TEXT值。例如,SELECT*查询就不是很好的想法,除非你能够确定作为约束条件的WHERE子句只会找到所需要的数据行。否则,你可能毫无目的地在网络上传输大量的值。
  • 把BLOB或TEXT列 分离到单独的表 中。在某些环境中,如果把这些数据列移动到第二张数据表中,可以让你把原数据表中的数据列转换为固定长度的数据行格式,那么它就是有意义的。这会 减少主表中的碎片,使你得到固定长度数据行的性能优势。它还使你在主数据表上运行SELECT*查询的时候不会通过网络传输大量的BLOB或TEXT值。

3.JSON类型

JSON (JavaScript object Notation)是一种轻量级的 数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON 可以将JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。

http://www.ritt.cn/news/24998.html

相关文章:

  • 济南 网站建设公司 医疗google首页
  • 网站被挂黑链网站建站方式有哪些
  • wordpress手机端网站模板下载泰安做网站公司
  • 世界十大绝美现代建筑seo案例分析
  • 亚马逊网站如何做商家排名全网推广方案
  • 网站建设特效大全真正免费的建站
  • 网站建设页面绍兴seo网站优化
  • 抚州市建设局官网站磁力蜘蛛种子搜索
  • 青岛做视频的网站深圳网络推广案例
  • 瑞安哪里有培训做网站的哈市今日头条最新
  • 包装设计概念榆林百度seo
  • 网站推广行业赚钱吗武汉seo招聘信息
  • 大连网站推广排名模板建站哪里有
  • 跨境电商怎么做shopee东莞seo建站优化工具
  • 成都专业做网站互联网营销课程体系
  • 做网站用户充值提现今天上海重大新闻事件
  • 通辽企业网站建设深圳网络推广渠道
  • 做任务推广网站建网站需要多少钱
  • 网站子站怎么做北京网上推广
  • 深圳做网站知名排行百度图片识别
  • 做品牌特价的网站google关键词
  • 新开传奇手游发布网站制作网站要多少费用
  • 湖北住房和城乡建设厅网站青岛爱城市网app官方网站
  • 烟台门户网站杭州seo网络公司
  • 什么网站max做环境的全景图seo课堂
  • 今日足球最新预测比分怎么seo网站排名
  • 用office做网站中山谷歌推广
  • 个人做网站用哪个主机好中央新闻直播今天
  • 网址收录入口北京seo网站推广
  • ppt做书模板下载网站广州企业网站推广