mysql 刘道成视频教程 第4-8课 --- 数据类型
数据类型大纲图:
注:在mysql中,输入时,除了数值型,不要加单引号,其他的都要加上单引号,养成一种好习惯。
一、数值型:
- 整数型:
1)从数学上来讨论tinyint
1、 占据空间
2、存储范围
2)tinyint 微小的列类型,1字节,
如果表示正数,表示范围0 - > 2^8-1 : 0 -> 255;
如果表示负数,表示范围 -128 -> 127 (只有后7位表示绝对值,最高位表示的是符号) (补码)
- 小数型:
- float(M,D):M代表总位数,D代表小数位,(6,2)为例;-9999.99 -> +9999.99
- 浮点,定点型所占字节是固定的,有些是4个字节,有些是8个字节。
- 浮点型的M, D 影响存储范围
- float(4,2) : -99.99 -> +99.99
- float(4,2) unsigned : 0 -> 99.99
二、字符型:
1、char与varchar的区别
1)宽度
- char(M),M代表宽度,0 <= M <= 255之间
- varchar(M),M代表宽度,0 <= M <= 65535(以ascii字符为例,utf8 22000左右)
2)实占空间
- char:M
- varchar:i字符+(1-2)字节
|
类型 |
宽度 |
可存字符 |
实存字符(i<=M) |
实占空间 |
利用率 |
|
Char |
M |
M |
i |
M |
i/M <= 100% |
|
Varchar |
M |
M |
i |
i字符+(1-2)字节 |
i/(i+1-2) < 100% |
3)对末尾的处理
char型 如果实际存储内容不足M个,则后面加空格补齐;取出来的时候,再把后面的空格去掉,所以,如果内容最后有空格,将会被清除。
4)速度
char型处理速度比varchar快。
2、char与varchar选择原则:
1)空间利用率
- 四字成语表,char(4)
- 个人简介,微博140字,varchar(140)
2)速度
- 用户名:char
3、Text 文本类型:
- 可以存比较大的文本段,搜索速度稍慢,因此不是特别大的内容,建议用char,varchar来代替。
- Text 不用加默认值(加了也没用)
三、时间/日期型:
1、Year类型:1个字节 表示 1901-2155,[0000,表示错误时选择]
- 如果输入2位,’00-69’ 表示: 2000-2069
- 如果输入2位,’70-99’ 表示: 1970-1999
- 如果记的麻烦,输入的时候,输4位。
2、Date类型:典型格式 1992-08-12
- 日期类型:’1000-01-01’ à ‘9999-12-31’
3、time类型:典型格式 hh:mm:ss
- 时间类型:’-838:59:59’ -> ‘+838:59:59’
4、Datetime 类型 典型格式:’1989-05-06 14:32:08’
- 日期时间类型 范围:1000-01-01 –> 9999-12-31 23:59:59
注意:
在开发中,很少用日期时间类型来表示一个需要精确到秒的列。
原因:虽然日期时间类型能精确到秒,而且方便查看;
真正精确到秒的,使用时间戳来表示。
- 时间戳:用来int来存储
- 是1970-01-01 00:00:00 到当前的秒数。
- 一般存注册时间,商品发布时间等,并不是用datetime存储,而是用时间戳
- 因为datetime虽然直观,但计算不便。
而用int型 存储时间戳,方便计算,对于显示来说,也可以方便的格式化。
mysql 刘道成视频教程 第4-8课 --- 数据类型的更多相关文章
- mysql 刘道成视频教程1、2课----------大致结构
第1课 第2课 一.整体结构 1.mysql -h localhost -u root -p *** 如果-h不写,则默认连接localhost. 2.连接服务器成功,-------> 显示数据 ...
- mysql 刘道成视频教程 第3课
第3课: 1.mysql中条件使用关键字where: 2.查 select name,content from msg ; select name,content 控制列 where id>2 ...
- KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础
原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...
- Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击
Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...
- Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...
- 备忘:MySQL中修改表中某列的数据类型、删除外键约束
-- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CON ...
- MySQL 性能优化--优化数据库结构之优化数据类型
MySQL性能优化--优化数据库结构之优化数据类型 By:授客 QQ:1033553122 优化数字数据(Numeric Data) l 对于唯一ID或其它可用字符串或数字表示的值,选择 ...
- JFinal视频教程-JFnal学院分享课
最近JFinal学院出了JFinal视频教程分享课,请笑纳~ 课程列表: 1.[JFinal版]微信小程序富文本渲染解决方案-html2wxml4J分享课 这个课程主要讲的是使用基于JFinal开发的 ...
- 【C#入门经典视频教程】-第001课-C#入门-认识C#
C#入门-认识C# C ---> C++ --> C# (C++++) j++ j++ 有一门可能比这个C#更流行的语言 java 使用的教程:c#入门经典第五版 操作系统:windows ...
随机推荐
- Bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声 单调栈
1657: [Usaco2006 Mar]Mooo 奶牛的歌声 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 631 Solved: 445[Submi ...
- C语言volatile关键字
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...
- 30种mysql优化sql语句查询的方法
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...
- zoj 3878 Convert QWERTY to Dvorak【好坑的模拟】
Convert QWERTY to Dvorak Time Limit: 2 Seconds Memory Limit: 65536 KB Edward, a poor copy typis ...
- codeigniter nginx rewrite规则配置【转】
转自:http://www.nginx.cn/1134.html nginx如何配置才能支持codeigniter ? 1. codeigniter的url美化去掉index.php 1 2 3 ...
- ElasticSearch怎样加入,检索数据
Elasticsearch是一个分布式的文档(document)存储引擎.它能够实时存储并检索复杂数据结构--序列化的JSON文档.换言说,一旦文档被存储在Elasticsearch中,它就能够在集群 ...
- Android自动关机代码
http://www.open-open.com/lib/view/open1409209890713.html 要实现自动关机的功能需要手机有root权限,如果手机有root权限,运行该程序时,会提 ...
- WIN32 根据程序名(映像名称)终止外部程序
场景: 1.有时候需要调用外部程序,但是外部程序有可能崩溃挂起,这样这个进程就没法结束,所以再在下次调用前需要先结束之前调用的. 2.没考虑到权限问题,应该是只能终止当前用户启动的进程. #inclu ...
- How and Why Unsafe is Used in Java---reference
By Peter Lawrey https://www.voxxed.com/blog/2014/12/how-and-why-unsafe-is-used-in-java/ Overview sun ...
- 3行3列表格 table实现,div+css实现
table实现: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...