《Mysql 公司职员学习篇》 第三章 小A的疑问
第三章 小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的疑问的更多相关文章
- 《Mysql 公司职员学习篇》 第二章 小A的惊喜
第二章 小A的惊喜 ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...
- 《Mysql 公司职员学习篇》 第一章 小A的烦恼
第一章 小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...
- 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录
目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...
- python学习心得第三章
python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...
- 《DOM Scripting》学习笔记-——第三章 DOM
<Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...
- The Road to learn React书籍学习笔记(第三章)
The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- JVM学习笔记-第三章-垃圾收集器与内存分配策略
JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...
- python学习笔记——第三章 串
第三章 字符串学习 1.字符串不灵活, 它不能被分割符值 >>> format = "hello, %s. %s enough for ya?" >> ...
随机推荐
- 【JMeter】JMeter在linux下运行
之前在用JMeter做性能测试时基本都用自己的笔记本电脑. 考虑到网络传输和占用系统资源情况时进行了以下分析: 1 在笔记本上,开始-cmd "ping 服务器",得到传输时间.在 ...
- WCF SOA --- AJAX 跨域请求处理 CORS for WCF
一.问题 跨域请求无法处理的问题,由于为了阻止恶意的网站通过JS脚本来窃取正常网站受保护的资源.所由所有的浏览器的默认策略是阻止XmlHttpRequest的跨域的异步请求. 但是对于一 ...
- ASP.NET运行原理_2
当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...
- oracle触发器学习
转自:http://blog.csdn.net/indexman/article/details/8023740/ 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触 ...
- codeforce 600A - Extract Numbers
学习string #include <bits/stdc++.h> #define eps 1e-8 #define M_PI 3.141592653589793 ; using name ...
- 6.2 CUDA streams
stream是什么 nivdia给出的解释是:A sequence of operations that execute in issue-order on the GPU. 可以理解成在GPU上执 ...
- 利用doxygen提高源代码阅读效率
阅读开源项目的源代码是提高自己编程能力的好方法,而有一个好的源代码阅读工具无疑能够让你在阅读源代码时事半功倍.之前找过不少源代码阅读工具,像SourceInsight.sourcenav.scitoo ...
- 【转载】shell中的特殊变量$
shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$ ...
- 第3组UI组件:AdapterView及其子类
1 AdapterView类简介 1.1 AdapterView组件是一组重要的组件,AdapterView本身是一个抽线类,实际使用更多的都是Adapter相关子类,AdapterView具有如下特 ...
- angular ui-route
http://www.cnblogs.com/freeliver54/p/4488141.html