《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?" >> ...
随机推荐
- 如何获取android app的Activity
方法一 如有你有待测项目的源码,那么直接查看源码就好.如果没有,那么请联系有源码的同学,这是推荐方法. 方法二 直接把apk后缀改为zip格式,打开压缩包后再打开AndroidManifest.x ...
- Newtonsoft.Json.dll使用
1:Newtonsoft.Json.dll 下载 http://json.codeplex.com/ 2:解析JSON字符窜 方法1: using Newtonsoft.Json; using Sy ...
- NOIP 2015 神奇的幻方
模拟,注意为偶数的情况 #include<cstdio> #include<cstring> #include<cstdlib> #include<iostr ...
- uvalive 4973 Ardenia
题意:给出空间两条线段,求距离. 注意输出格式! #include<cstdio> #include<cmath> #include<algorithm> usin ...
- C#通过DllImport引入dll中的C++非托管类(转)
http://blog.sina.com.cn/s/blog_70a144580100tmj8.html
- 【转载】sed命令详解
[转载自]http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html sed -i 把后面的操作后的文本输出回原文本 ...
- [思维题]Bored Qishen
给出一个整数集,其中包含1-n的所有整数,要求挑选出一个元素最多的子集,使得子集中任意两数的乘积不是完全平方数 (n<=10^6) 求这样一个最大子集的元素个数 #include <cst ...
- sizeof _countof _tcslen的比较
sizeof ----用于计算数组或其他对象的大小,以字节为单位,含\0结束符. _countof----一个宏,用于计算数组的实际元素个数 ,含\0结束符: _tcslen----c++求数组长度的 ...
- Java与MySql数据类型对照表
类型名称 显示长度 数据库类型 JAVA类型 VARCHAR L+N VARCHAR java.lang.String CHAR N CHAR java.lang.String BLOB L+N BL ...
- http 需要掌握的知识点(一)
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.HTTP 也属于 TCP/IP 协议族的子集,想要学习 HTTP ,先需要了解 ...