第三章 小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. GCC 编译命令

    今天突然被同事问道一个GCC编译命令为的问题,感觉对相应内容生疏了,赶紧整理下相关内容,梳理下相关知识. GCC命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再 ...

  2. phpMyAdmin 中数据库替换问题

    将原来的数据库删除,然后进入data文件夹中修改名字, 但是后来前台出现错误: Zend_Db_Statement_Exception Object ( [_previous:Zend_Excepti ...

  3. dmesg 信息实时监控其改变

    方法一: 最新的dmesg版本有一个 -w (-w, --follow) 选项,可以实时监控并输出: $ dmesg -wH 方法二: watch -n 0.1 "dmesg | tail ...

  4. jira破解

    JIRA是一个优秀的问题(or bugs,task,improvement,new feature )跟踪及管理软件.    它由Atlassian开发,采用J2EE技术.它正被广泛的开源软件组织,以 ...

  5. Android问题-selection contains a component,button7,introduced in an ancestor and cannot be deleted.

    问题现象: 在开发Android时增加的控件想删除,可是删除时提示“Android问题-selection contains a component,button7,introduced in an ...

  6. [C语言 - 13] 运算符

    算术运算符 运算符的优先级 括号 > 正负 > 数学运算 > 位运算 > 数学对比 > 逻辑对比 > 条件运算 > 赋值运算   A.赋值运算符 复合赋值运算 ...

  7. weblogic11g 安装——linux 无图形界面

    weblogic11g 安装——linux下无weblogic安装图形界面 注意:此次安装,没做server.ip .系统规划 目的:学习weblogic11g 在linux下  无图形安装的过程 j ...

  8. 好的git教程

    1.GitHub使用教程for VS2012 http://www.cnblogs.com/yc-755909659/p/3753355.html

  9. 用 C# 做人脸检测(EmguCV)

    用 C# 做人脸检测(EmguCV)   原发:bbs.csdn.net 作者:野比 (conmajia@gmail.com) 时间:May 2012 下载源码 准备工作 下载 EmguCV 傻瓜安装 ...

  10. Oracle中的AS和IS

    Oracle中的AS和IS是ORACLE为了方便而设置的同义词基本上没有不同 . 使用规则: 1.在创建存储过程(PROCEDURE)/函数(FUNCTION),以及自定义类型(TPYE)和包(PAC ...