第三章 小A的疑问  ---- 数据类型和自增列

小A拿着鸡腿,回到了房间里面,咬了一嘴油,说:"我有2个疑问,在Excell里面,像列PetAge(宠物年龄)这样的数字,我一般会设置成数值格式,而像PetName,则会默认文本格式,还有,Mysql多出来的那列ID列,好像和Excell的不一样啊,你看,Mysql的数据表,是你自己写的一列,而Excell是自己自带的。"。

小Y:"这2个问题问的好,我先回答你第一个问题吧,在Mysql数据表里面,同样有数据格式的,像PetAge这样,我们称为浮点型,也就是带小数点的,我们一般用Double或者Float来设置这一列的数据类型,而像PetName这样的,我们称为字符型,我们通常用Varchar和Char来设置数据类型,当然还有你说的ID列,它是整数,我们称之为整形,一般使用用Int来设置数据类型,而经常用到的,还有时间格式,我们用DateTime和Date来设置。当然不仅仅是这些类型,Mysql中还有更多的类型,但是对于你这样的初学者,可以暂时不去理会。"。

小A:"我有点迷糊了,我大概知道了,数字类型要是整数的话,就使用Int类型,要是字符,比如中文和英文,就用Varchar和Char类型,要是时间,用DateTime和Date类型,可是这个Varchar和Char,还有这个时间。怎么这么多个啊,我到底该用哪个?"。

小Y:"其实很简单,Double和Float都是用来表示小数的,但是Double支持的位数比较多,在Mysql中,可以支持17位,而Float则是6位。如果你嫌麻烦,可以直接使用最大值Double统一设置,但你要是一个专业的数据库人员,就要根据这一列的存放数据的情况而定Float还是Double。就算存放货物,你给这个货物开辟了3平米的空间,结果发现这个货物只是一台手机,这样岂不是很浪费空间?而你开辟了1平米的空间,却发现是一台42寸的电视机,那就更不得了了,按照曹操的说法,宁错杀不放过。"

小A:"小Y啊,平时不多看点书,宁错杀不放过,那是汪精卫说的!"。

小Y:"......不要在意细节!再说Varchar和Char吧,实际上他们都可以存储字符,但是Varchar是可以自由缩小长度的,也就是说,我开了一个5平米的空间用来放手机,但是我发现这个手机只占20平方厘米,那我就要把这个位置留给其他物品了,反过来说,Char开辟了5平米的,放的是手机,那也不会去更改存放空间的。2种各有优点,Varchar从空间上节省,而Char从效率上占优,道理很简单,虽然是5平米的,但是我放一个手机上去,而不用再去理会要缩小位置,从生活方面讲,这肯定会节省仓库管理员的时间。"

小A:"好像很有道理,那我直接给Varchar好了,毕竟数据多了,可以节省一大笔存储空间呢,而效率上,也不差那一点。"。

小Y:"对于大型数据而言,该用哪个,还是要仔细一点的,至于DateTime,就更好理解了,Datetime是代表年月日时分秒的,Date只能写入年月日。我们再说一说ID列吧,如你所看见的,这一列就只是一个告诉你行数的列而已,但是Excel里面自带了,而Mysql是没有的,需要自己添加,对于这一个自增列,还是很有用的,比如我知道某一列的序号,想要找这一列的信息,就变得简单多了,因此我们往往要保证这一列的唯一性,而我们通常,会把这一列设置为主键,以保证该列的唯一,哦,对了,主键的意思,实际上是英文(primarykey)翻译得来,Key是钥匙的意思,只有这把钥匙,才能打开这行数据的门,让我们查看里面的数据,换一句话说,主键可以保证数据的完整性。"。

小A:"嗯...好像有点难以理解啊。"。

小Y:"不用着急,接下来,我们将所学的理论知识,用于实际操作上,这样你就能很快理解我所说的话了。"。

小A:"那我们赶紧开始吧!"。

小Y:"这么晚了,赶紧回家睡觉去,明天还要早起上班呢!"。

小A:"没注意已经这么晚了。那我明天再来想你讨教。"。

《Mysql 公司职员学习篇》 第三章 小A的疑问的更多相关文章

  1. 《Mysql 公司职员学习篇》 第二章 小A的惊喜

          第二章 小A的惊喜  ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...

  2. 《Mysql 公司职员学习篇》 第一章 小A的烦恼

    第一章  小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...

  3. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  4. python学习心得第三章

    python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...

  5. 《DOM Scripting》学习笔记-——第三章 DOM

    <Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...

  6. The Road to learn React书籍学习笔记(第三章)

    The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...

  7. [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设

    [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...

  8. JVM学习笔记-第三章-垃圾收集器与内存分配策略

    JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...

  9. python学习笔记——第三章 串

    第三章 字符串学习 1.字符串不灵活, 它不能被分割符值 >>> format = "hello, %s. %s enough for ya?" >> ...

随机推荐

  1. 【转】Linux(Ubuntu)下面SecureCRT 完全破解

    仅供测试, 勿用作商业用途.首先要到vandyke网站下载一个securecrt, 需要注册.http://www.vandyke.com/download/securecrt/download.ht ...

  2. 算法 后减前最大值,zt

    一个人知道未来n天的每天股票的价格,请你给出一个算法,使得这个人从哪天买入,哪天卖出能获得最大的收益. 问题实际上就是求一个数组后面元素减前面元素的最大值 #include <stdio.h&g ...

  3. 44、网页启动Activity,网页传值Activity

         在assets新建一个demo.html 文件. <html> <head> <meta http-equiv="Content-Type" ...

  4. iBatis之type

    iBatis下关于type的UML图,展示iBatis下关于类型的处理和注册等.

  5. 设计模式_Flyweight_享元模式

    形象例子: 每天跟MM发短信,手指都累死了,最近买了个新手机,可以把一些常用的句子存在手机里,要用的时候,直接拿出来,在前面加上MM的名字就可以发送了,再不用一个字一个字敲了.共享的句子就是Flywe ...

  6. Notepad++中调用cl.exe编译器(Windows)

    Notepad++中调用cl.exe编译器(Windows) 近来在notepad++中写代码,写完后总是习惯性的想去VS里面编译一下,看看代码是否有误.但有时候一些零碎的小文件总是懒得再VS中打开, ...

  7. HDU 1540 Tunnel Warfare 线段树区间合并

    Tunnel Warfare 题意:D代表破坏村庄,R代表修复最后被破坏的那个村庄,Q代表询问包括x在内的最大连续区间是多少 思路:一个节点的最大连续区间由(左儿子的最大的连续区间,右儿子的最大连续区 ...

  8. 利用weka和clementine数据挖掘举例

    1.数据概述 本报告中采用的数据集来自于UCI经典数据集Adult,最初来源是由1994年Barry Becker的统计数据集,该数据集本来最初的主要任务是根据数据集中的相关属性预测某个人的年收入是大 ...

  9. 【原创】tcp协议那块一些点(想到了再加)

    1.3次握手 4次握手 2.那张状态图,FIN_WAIT主动关闭方,CLOSE_WAIT被动关闭方 主动关闭方发出FIN后进入FIN_WAIT,FIN_WAIT方收到了ACK和FIN,发出了ACK,则 ...

  10. hdoj 1856 More is better【求树的节点数】

    More is better Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others) ...