《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?" >> ...
随机推荐
- HDU 1520-Anniversary party(树形dp入门)
题意: n个人参加party,已知每人的欢乐值,给出n个人的工作关系树,一个人和他的顶头上司不能同时参加,party达到的最大欢乐值. 分析:dp[i][f],以i为根的子树,f=0,i不参加,f=1 ...
- 验证码生成-->漂亮啊
验证码不用输出太多的HTML代码,直接创建一个一般处理程序,直接上代码 public class VCode : IHttpHandler { HttpContext context = null; ...
- Magento 重新安装的方法
如果之前已经成功安装Magento, 不必再下载Magento进行重新安装,很多朋友删掉所有程序文件然后再上传一个magento程序包进行重新安 装, 这样做很耗时间. 其实只需把magento的根目 ...
- 命令ls
ls -a 显示所有文件,包括隐藏文件(.开头的文件,配置文件常为隐藏文件)ls -l 显示详细信息ls -R 递归显示子目录结构ls -ld 显示目标目录的详细信息(并不返回目录里的内容)
- Sort--冒泡排序
冒泡排序 public class BubbleSort { public static void bubblesort(int[] a){ for(int i=0;i<a.length-1;i ...
- 访问修饰符(access modifier)。
1)public(公共的):被 public所修饰的属性和方法可以被有类访问. 所修饰的属性和方法可以被有类访问. 2)protected (受保护的):被protected所修饰的属性和方法可以在类 ...
- leetcode@ [279]Perfect Squares
https://leetcode.com/problems/perfect-squares/ Given a positive integer n, find the least number of ...
- Android 开发Project中各个目录和文件的介绍
如上图标号: 存放java文件的文件夹“src”: 由aapt工具根据应用中的资源文件自动生成的R.java文件,以及buildConfiger.java文件,这两个文件最好不要去修改: 存放各种资源 ...
- openstack python sdk list tenants get token get servers
1,openstack python sdk 获取token 获取租户tenants projects #!/bin/bash export OS_PROJECT_DOMAIN_ID=default ...
- 备份数据表为insert 脚本
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...