数据类型大纲图:

注:在mysql中,输入时,除了数值型,不要加单引号,其他的都要加上单引号,养成一种好习惯。

一、数值型:

  • 整数型:

  1)从数学上来讨论tinyint

    1、 占据空间

    2、存储范围

  2)tinyint 微小的列类型,1字节,

    如果表示正数,表示范围0 - > 2^8-1  : 0 -> 255;

    如果表示负数,表示范围 -128 -> 127 (只有后7位表示绝对值,最高位表示的是符号) (补码)

  • 小数型:

    •   float(M,D):M代表总位数,D代表小数位,(6,2)为例;-9999.99 -> +9999.99
    • 浮点,定点型所占字节是固定的,有些是4个字节,有些是8个字节。
    •   浮点型的M, D 影响存储范围
      •  float(4,2)        :  -99.99 -> +99.99
      •  float(4,2) unsigned :  0 -> 99.99

二、字符型:

  1、char与varchar的区别

    1)宽度

  • char(M),M代表宽度,0 <= M <= 255之间
  • varchar(M),M代表宽度,0 <= M <= 65535(以ascii字符为例,utf8 22000左右)

    2)实占空间

  • char:M
  • varchar:i字符+(1-2)字节

类型

宽度

可存字符

实存字符(i<=M)

实占空间

利用率

Char

M

M

i

M

i/M <= 100%

Varchar

M

M

i

i字符+(1-2)字节

i/(i+1-2) < 100%

    3)对末尾的处理

      char型 如果实际存储内容不足M个,则后面加空格补齐;取出来的时候,再把后面的空格去掉,所以,如果内容最后有空格,将会被清除。

    4)速度

      char型处理速度比varchar快。

  2、char与varchar选择原则:

    1)空间利用率

  • 四字成语表,char(4)
  • 个人简介,微博140字,varchar(140)

    2)速度

  • 用户名:char

  3、Text 文本类型:

  • 可以存比较大的文本段,搜索速度稍慢,因此不是特别大的内容,建议用char,varchar来代替。
  • Text 不用加默认值(加了也没用)

三、时间/日期型:

  1、Year类型:1个字节 表示 1901-2155,[0000,表示错误时选择]

  • 如果输入2位,’00-69’ 表示: 2000-2069
  • 如果输入2位,’70-99’ 表示: 1970-1999
  • 如果记的麻烦,输入的时候,输4位。

  2、Date类型:典型格式  1992-08-12

  • 日期类型:’1000-01-01’ à ‘9999-12-31’

  3、time类型:典型格式 hh:mm:ss

  • 时间类型:’-838:59:59’ -> ‘+838:59:59’

  4、Datetime 类型 典型格式:’1989-05-06 14:32:08’

  • 日期时间类型 范围:1000-01-01 –> 9999-12-31 23:59:59

注意:

  在开发中,很少用日期时间类型来表示一个需要精确到秒的列。

  原因:虽然日期时间类型能精确到秒,而且方便查看;

  真正精确到秒的,使用时间戳来表示。

  • 时间戳:用来int来存储
  • 是1970-01-01 00:00:00 到当前的秒数。
  • 一般存注册时间,商品发布时间等,并不是用datetime存储,而是用时间戳
  • 因为datetime虽然直观,但计算不便。

  而用int型 存储时间戳,方便计算,对于显示来说,也可以方便的格式化。

转载于:https://www.cnblogs.com/aoguren/p/3202097.html

mysql 刘道成视频教程 第4-8课 --- 数据类型相关推荐

  1. 传智播客 php培训 mysql 刘道成 word 文档,传智播客 刘道成PHP视频教程 mysql 数据库视频教程...

    记得14年的时候有整理过这套课程,但是课程太多 今天却翻不到,所以在这里发一下吧. 4 ]0 {2 I. c- Z! u0 h6 J5 x传智播客出品 讲师 刘道成 Mysql 视频教程 mysql和 ...

  2. 刘道成mysql视频教程_燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载

    课程名称 燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载 课程介绍 本教程完全从初学者的角度出发,循序渐进,逐步深入,确保每一位初学者能够理解和掌握,进而达到精通的程度,本套教程非常 ...

  3. 视频教程-Java进阶高手课-Spring精讲精练-Java

    [ [这里是图片001] Java进阶高手课-Spring精讲精练 中国科学技术大学硕士研究生,丹麦奥尔堡大学访问学者,先后就职于eBay.蚂蚁金服.SAP等国内外一线互联网公司,在Java后端开发. ...

  4. 【中国寒龙出品】VB程序设计视频教程讲座第二十七课,欢迎各位订阅感谢朋友们的支持...

    [中国寒龙出品]VB程序设计视频教程讲座第二十七课,欢迎各位订阅感谢朋友们的支持 转载于:https://www.cnblogs.com/hackerschina/articles/4790717.h ...

  5. 视频教程-requirejs新手上手课-JavaScript

    requirejs新手上手课 2009年4月创办 淄博日诺网络科技有限公司 法人总经理 2016年负责 中国传媒大学凤凰学院 网站开发 项目负责人 2017年 参与负责 用友软件理财项目开发 郭孟涛 ...

  6. mysql提供了表示日期和时间的数据类型_MySQL数据类型 - 日期和时间类型(1)

    1.日期和时间数据类型语法 用于表示时间值的日期和时间数据类型是DATE, TIME, DATETIME, TIMESTAMP和 YEAR. 对于TIME, DATETIME和 TIMESTAMP值, ...

  7. mysql中的是和否是什么数据类型_MySQL 中你应该使用什么数据类型表示时间?

    原标题:MySQL 中你应该使用什么数据类型表示时间? 当你需要保存日期时间数据时,一个问题来了:你应该使用 MySQL 中的什么类型?使用 MySQL 原生的 DATE 类型还是使用 INT 字段把 ...

  8. mysql入门视频 吾_学习猿地-全网最新版本MySQL8全套视频教程(学完这个课 MySQL 就精通了)...

    课程目录: 1.1.认识MySQL+ J" A7 q: A1 j9 `( O; } 2.1.认识MySQL.size 3.2.安装配置MySQL 4.2.安装配置MySQL.size 5.3 ...

  9. 刘道成 mysql 课件_燕十八公益讲堂mysql.ppt

    7.2 select 5种子句 之group练习 以ecshop库为基础 练习 'mysql复习.html' 文档中的 第三部分: 查询知识 2.1 -2.8题 7.3 select 5种子句 之ha ...

最新文章

  1. O’Reilly软件架构大会第一天内容回顾
  2. 安卓应用安全指南 4.4.3 创建/使用服务高级话题
  3. 转换到 COFF 期间失败: 文件无效或损坏
  4. RMI中部署时要注意的地方
  5. 三种CDN调度系统实现原理详解
  6. matlab 传感器的迟滞,MATLAB PI迟滞模型问题
  7. 2021年上半年系统集成项目管理工程师案例分析真题及答案解析
  8. Android merge优化UI
  9. Hibernate之多对多映射
  10. 利用局域网,传输文件
  11. 非中文正则表达式 php,php判断是不是为中文正则表达式大全(转)
  12. Java 12 新特性
  13. 群晖DSM桌面无法删除快捷方式(无法右键)解决方法
  14. Aptana工具介绍
  15. 微信小程序开发得会议扫码签到系统
  16. 10寸、10.1寸、10.4寸液晶屏解决方案
  17. 【新知实验室-TRTC开发】实时音视频之集美真心话
  18. 正规的伦敦金投资平台排行榜
  19. 高通 android 7.0 插入蓝牙耳机,声音变的最大!
  20. nmn服用后会出现什么副作用,nmn产品副作用及时预防

热门文章

  1. 外包以小时计算金额的费用_基金申购赎回费用计算实例
  2. javascript来实现定时器
  3. Vue.js - Day5 - Webpack
  4. 微软是如何使用C#重写C#编译器并将其开源的
  5. RESTful JSON Web服务最佳实践
  6. Michael Dell承诺打造新的EMC/戴尔/VMware工程技术系统
  7. Skype For Business Server 2015 离线消息
  8. jquery字符串序列化方法总结
  9. zabbix3.0.4监控mysql主从同步
  10. OrCAD Capture使用记录