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

手机网站 做成app网站域名备案证明

手机网站 做成app,网站域名备案证明,seo排名专业公司,上传文档到网站上怎么做这是mysql系列第2篇文章。 环境#xff1a;mysql5.7.25#xff0c;cmd命令中进行演示。 主要内容 介绍mysql中常用的数据类型 mysql类型和java类型对应关系 数据类型选择的一些建议 MySQL的数据类型 主要包括以下五大类 整数类型#xff1a;bit、bool、tinyint、smal…这是mysql系列第2篇文章。 环境mysql5.7.25cmd命令中进行演示。 主要内容 介绍mysql中常用的数据类型 mysql类型和java类型对应关系 数据类型选择的一些建议 MySQL的数据类型 主要包括以下五大类 整数类型bit、bool、tinyint、smallint、mediumint、int、bigint 浮点数类型float、double、decimal 字符串类型char、varchar、tinyblob、blob、mediumblob、longblob、tinytext、text、mediumtext、longtext 日期类型Date、DateTime、TimeStamp、Time、Year 其他数据类型暂不介绍用的比较少。 整数类型 上面表格中有符号和无符号写反了[]包含的内容是可选的默认是无符号类型的无符号的需要在类型后面跟上unsigned 示例1有符号类型 mysql create table demo1(c1 tinyint); Query OK, 0 rows affected (0.01 sec)mysql insert into demo1 values(-pow(2,7)),(pow(2,7)-1); Query OK, 2 rows affected (0.00 sec) Records: 2  Duplicates: 0  Warnings: 0mysql select * from demo1; ------ | c1   | ------ | -128 | |  127 | ------ 2 rows in set (0.00 sec)mysql insert into demo1 values(pow(2,7)); ERROR 1264 (22003): Out of range value for column c1 at row 1demo1表中c1字段为tinyint有符号类型的可以看一下上面的演示有超出范围报错的。 关于数值对应的范围计算方式属于计算机基础的一些知识可以去看一下计算机的二进制表示相关的文章。 示例2无符号类型 mysql create table demo2(c1 tinyint unsigned); Query OK, 0 rows affected (0.01 sec)mysql insert into demo2 values (-1); ERROR 1264 (22003): Out of range value for column c1 at row 1 mysql insert into demo2 values (pow(2,8)1); ERROR 1264 (22003): Out of range value for column c1 at row 1 mysql insert into demo2 values (0),(pow(2,8));mysql insert into demo2 values (0),(pow(2,8)-1); Query OK, 2 rows affected (0.00 sec) Records: 2  Duplicates: 0  Warnings: 0mysql select * from demo2; ------ | c1   | ------ |    0 | |  255 | ------ 2 rows in set (0.00 sec)c1是无符号的tinyint类型的插入了负数会报错。 类型(n)说明 在开发中我们会碰到有些定义整型的写法是int(11)这种写法个人感觉在开发过程中没有什么用途不过还是来说一下int(N)我们只需要记住两点 无论N等于多少int永远占4个字节 N表示的是显示宽度不足的用0补足超过的无视长度而直接显示整个数字但这要整型设置了unsigned zerofill才有效 看一下示例理解更方便 mysql CREATE TABLE test3 (a int,b int(5),c int(5) unsigned,d int(5) zerofill,e int(5) unsigned zerofill,f int    zerofill,g int    unsigned zerofill); Query OK, 0 rows affected (0.01 sec)mysql insert into test3 values (1,1,1,1,1,1,1),(11,11,11,11,11,11,11),(12345,12345,12345,12345,12345,12345,12345); Query OK, 3 rows affected (0.00 sec) Records: 3  Duplicates: 0  Warnings: 0mysql select * from test3; ----------------------------------------------------------- | a     | b     | c     | d     | e     | f          | g          | ----------------------------------------------------------- |     1 |     1 |     1 | 00001 | 00001 | 0000000001 | 0000000001 | |    11 |    11 |    11 | 00011 | 00011 | 0000000011 | 0000000011 | | 12345 | 12345 | 12345 | 12345 | 12345 | 0000012345 | 0000012345 | ----------------------------------------------------------- 3 rows in set (0.00 sec)mysql show create table test3; | Table | Create Table                                                    | test3 | CREATE TABLE test3 (a int(11) DEFAULT NULL,b int(5) DEFAULT NULL,c int(5) unsigned DEFAULT NULL,d int(5) unsigned zerofill DEFAULT NULL,e int(5) unsigned zerofill DEFAULT NULL,f int(10) unsigned zerofill DEFAULT NULL,g int(10) unsigned zerofill DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8 1 row in set (0.00 sec)show create table test3;输出了表test3的创建语句和我们原始的创建语句不一致了原始的d字段用的是无符号的可以看出当使用了zerofill自动会将无符号提升为有符号。 说明 int(5)输出宽度不满5时前面用0来进行填充 int(n)中的n省略的时候宽度为对应类型无符号最大值的十进制的长度如bigint无符号最大值为2的64次方-1等于18,446,744,073,709,551,615‬ 长度是20位来个bigint左边0填充的示例看一下   mysql CREATE TABLE test4 (a  bigint    zerofill); Query OK, 0 rows affected (0.01 sec)mysql insert into test4 values(1); Query OK, 1 row affected (0.00 sec)mysql select *from test4; ---------------------- | a                    | ---------------------- | 00000000000000000001 | ---------------------- 1 row in set (0.00 sec)上面的结果中1前面补了19个0和期望的结果一致。 浮点类型容易懵注意看 float数值类型用于表示单精度浮点数值而double数值类型用于表示双精度浮点数值float和double都是浮点型而decimal是定点型。 浮点型和定点型可以用类型名称后加MD来表示M表示该值的总共长度D表示小数点后面的长度M和D又称为精度和标度。 float和double在不指定精度时默认会按照实际的精度来显示而DECIMAL在不指定精度时默认整数为10小数为0。 示例1(重点) mysql create table test5(a float(5,2),b double(5,2),c decimal(5,2)); Query OK, 0 rows affected (0.01 sec)mysql insert into test5 values (1,1,1),(2.1,2.1,2.1),(3.123,3.123,3.123),(4.125,4.125,4.125),(5.115,5.115,5.115),(6.126,6.126,6.126),(7.116,7.116,7.116),(8.1151,8.1151,8.1151),(9.1251,9.1251,9.1251),(10.11501,10.11501,10.11501),(11.12501,11.12501,11.12501); Query OK, 7 rows affected, 5 warnings (0.01 sec) Records: 7  Duplicates: 0  Warnings: 5mysql select * from test5; --------------------- | a     | b     | c     | --------------------- |  1.00 |  1.00 |  1.00 | |  2.10 |  2.10 |  2.10 | |  3.12 |  3.12 |  3.12 | |  4.12 |  4.12 |  4.13 | |  5.12 |  5.12 |  5.12 | |  6.13 |  6.13 |  6.13 | |  7.12 |  7.12 |  7.12 | |  8.12 |  8.12 |  8.12 | |  9.13 |  9.13 |  9.13 | | 10.12 | 10.12 | 10.12 | | 11.13 | 11.13 | 11.13 | --------------------- 11 rows in set (0.00 sec)结果说明注意看 c是decimal类型认真看一下输入和输出发现decimal采用的是四舍五入 认真看一下a和b的输入和输出尽然不是四舍五入一脸闷逼float和double采用的是四舍六入五成双 decimal插入的数据超过精度之后会触发警告。 什么是四舍六入五成双 就是5以下舍弃5以上进位如果需要处理数字为5的时候需要看5后面是否还有不为0的任何数字如果有则直接进位如果没有需要看5前面的数字若是奇数则进位若是偶数则将5舍掉 示例2 我们将浮点类型的M,D精度和标度都去掉看看效果 mysql create table test6(a float,b double,c decimal); Query OK, 0 rows affected (0.02 sec)mysql insert into test6 values (1,1,1),(1.234,1.234,1.4),(1.234,0.01,1.5); Query OK, 3 rows affected, 2 warnings (0.00 sec) Records: 3  Duplicates: 0  Warnings: 2mysql select * from test6; -------------------- | a     | b     | c    | -------------------- |     1 |     1 |    1 | | 1.234 | 1.234 |    1 | | 1.234 |  0.01 |    1 | -------------------- 3 rows in set (0.00 sec)说明 a和b的数据正确插入而c被截断了 浮点数float、double如果不写精度和标度则会按照实际显示 decimal不写精度和标度小数点后面的会进行四舍五入并且插入时会有警告! 再看一下下面代码 mysql select sum(a),sum(b),sum(c) from test5; ------------------------ | sum(a) | sum(b) | sum(c) | ------------------------ |  67.21 |  67.21 |  67.22 | ------------------------ 1 row in set (0.00 sec)mysql select sum(a),sum(b),sum(c) from test6; ------------------------------------------------ | sum(a)             | sum(b)             | sum(c) | ------------------------------------------------ | 3.4679999351501465 | 2.2439999999999998 |      4 | ------------------------------------------------ 1 row in set (0.00 sec)从上面sum的结果可以看出float、double会存在精度问题decimal精度正常的比如银行对统计结果要求比较精准的建议使用decimal。 日期类型 字符串类型 char类型占用固定长度如果存放的数据为固定长度的建议使用char类型如手机号码、身份证等固定长度的信息。 表格中的L表示存储的数据本身占用的字节L 以外所需的额外字节为存放该值的长度所需的字节数。 MySQL 通过存储值的内容及其长度来处理可变长度的值这些额外的字节是无符号整数。 请注意可变长类型的最大长度、此类型所需的额外字节数以及占用相同字节数的无符号整数之间的对应关系 例如MEDIUMBLOB 值可能最多2的24次方 - 1字节长并需要3个字节记录其长度3 个字节的整数类型MEDIUMINT 的最大无符号值为2的24次方 - 1。  mysql类型和java类型对应关系 数据类型选择的一些建议 选小不选大一般情况下选择可以正确存储数据的最小数据类型越小的数据类型通常更快占用磁盘内存和CPU缓存更小。 简单就好简单的数据类型的操作通常需要更少的CPU周期例如整型比字符操作代价要小得多因为字符集和校对规则(排序规则)使字符比整型比较更加复杂。 尽量避免NULL尽量制定列为NOT NULL除非真的需要NULL类型的值有NULL的列值会使得索引、索引统计和值比较更加复杂。 浮点类型的建议统一选择decimal 记录时间的建议使用int或者bigint类型将时间转换为时间戳格式如将时间转换为秒、毫秒进行存储方便走索引
http://www.hkea.cn/news/14431573/

相关文章:

  • 现在.net做网站的多吗工业设计网站导航
  • 网站建设权利义务专业网站开发联系方式
  • 购物网站开发一般使用什么语言建设一个网站流程图
  • 有些网站勤换域名房地产网站建设分析
  • 免费站推广网站2022建设文化网站好处
  • 在自己电脑上做网站网络营销策划方案格式
  • 北京网站建设公司营销型网站软件
  • 怎样创建网站和网页重庆百度
  • 网站建设公司上海做网站公司东营建设局官网
  • 帝国cms做的网站深圳网站建设怎么样
  • 花店网站开发参考文献wordpress地图无插件下载
  • 一键安装网站运行环境全国企业信息系统网官网
  • wordpress更改登录地址深圳知名seo公司
  • 莆田网站建设多少钱中山seo排名
  • 溧阳做网站怎么判断一个公司是不是外包公司
  • 建个企业网站还是开个淘宝店休闲食品网站建设规划书
  • 乡村建设规划网站wordpress抖音
  • 南昌建站模板公司企业宣传片的拍摄
  • 厦门网站建设 智多星重庆市最新新闻
  • 网站深圳优化建设广西建设工程质量安全监督网站
  • 网站制作一键生成整站优化深圳
  • 郑州网站建设讯息qq企业邮箱登录入口
  • 搭建wap网站新手做网站应该注意什么
  • 网站蓝色导航栏代码动态图表制作软件
  • 外贸网站建站多少钱网站推广网站关键词排名怎么做
  • 网站开发项目有哪些软件技术适合女生学吗
  • 帮人家做网站怎么赚钱网络广告策划书范文
  • 哪个建站平台较好长链接转换成短链接
  • 东莞网站设计公司有哪些夹克定制公司
  • 江门cms模板建站网店店铺装修怎么做