数据类型大纲图:

注:在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型 存储时间戳,方便计算,对于显示来说,也可以方便的格式化。

mysql 刘道成视频教程 第4-8课 --- 数据类型的更多相关文章

  1. mysql 刘道成视频教程1、2课----------大致结构

    第1课 第2课 一.整体结构 1.mysql -h localhost -u root -p *** 如果-h不写,则默认连接localhost. 2.连接服务器成功,-------> 显示数据 ...

  2. mysql 刘道成视频教程 第3课

    第3课: 1.mysql中条件使用关键字where: 2.查 select name,content from msg ; select name,content 控制列 where id>2 ...

  3. KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础

    原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...

  4. Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击

    Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...

  5. Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持

    Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...

  6. 备忘:MySQL中修改表中某列的数据类型、删除外键约束

    -- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CON ...

  7. MySQL 性能优化--优化数据库结构之优化数据类型

    MySQL性能优化--优化数据库结构之优化数据类型   By:授客  QQ:1033553122   优化数字数据(Numeric Data) l   对于唯一ID或其它可用字符串或数字表示的值,选择 ...

  8. JFinal视频教程-JFnal学院分享课

    最近JFinal学院出了JFinal视频教程分享课,请笑纳~ 课程列表: 1.[JFinal版]微信小程序富文本渲染解决方案-html2wxml4J分享课 这个课程主要讲的是使用基于JFinal开发的 ...

  9. 【C#入门经典视频教程】-第001课-C#入门-认识C#

    C#入门-认识C# C ---> C++ --> C# (C++++) j++ j++ 有一门可能比这个C#更流行的语言 java 使用的教程:c#入门经典第五版 操作系统:windows ...

随机推荐

  1. Bzoj 3389: [Usaco2004 Dec]Cleaning Shifts安排值班 最短路,神题

    3389: [Usaco2004 Dec]Cleaning Shifts安排值班 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 218  Solved: ...

  2. 30种mysql优化sql语句查询的方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  3. 使用GSoap开发WebService客户端与服务端

    Gsoap 编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现, 从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多. 用gsoap开发web service的大致思路 我 ...

  4. Oracle的SCN与检查点机制

    Oracle的SCN与检查点机制 SCN在Oracle的文档上以多种形式出现,一种是System Change Number,另一种是System Commit Number,在大多数情况下,Syst ...

  5. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  6. sql server 查看表结构说明

    select c.name as [字段名],t.name as [字段类型] ,convert(bit,c.IsNullable) as [可否为空] ,convert(bit,case when ...

  7. 【设计模式 - 23】之模版方法模式(Template)

    1      模式简介 模版方法模式的定义: 模版方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 模版方法模 ...

  8. Hack工具

    黑客工具一般是由黑客或者恶意程序安装到您计算机中,用来盗窃信息.引起系统故障和完全控制电脑的恶意软件程序.同时也指黑客进行黑客任务时使用的工具.著名的有nmap,流光等等. 目录 1 种类 2 恶意程 ...

  9. 在WinForm中使用委托来在其他线程中改变控件的显示

    假设winform中有两个控件: 1.ListView用来显示进度的文本提示,ID:listView_progressInfo 2.ProgressBar用来显示进度,ID:progressBar1 ...

  10. CXF整合Spring开发WebService

    刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...