MYSQL数据库学习----MYSQL数据类型
一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节。
通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型可以表示多大的十进制数!
打个比方,MYSQL中的int型数据类型,大家都知道int型可以表示4个字节,那就是32位二进制,32位二进制就能表示无符号十进制数0~4394967295.
所以我们给这个int数据类型赋值一个在0和4394967295之间的数就可以了,如果超出这个范围系统就会报错。
MYSQL数据类型分为几种:
一:整型
数据类型 (显示宽度)
| 整型类型 | 字节数 | 无符号数的取值范围 | 有符号数的取值范围 | 
| INT | 4 | 0~4394967295 | -2147483648~2147483647 | 
一般INT型在我们平常用的时候就足够我们使用了,整型中还有一些不常用的:TINYINT(1),SMALLINT(2), MEDIUMINT(3),INTEGER(4),BIGINT(8).
二:浮点数和定点数
数据类型 (M, D)
| 整型类型 | 字节数 | 负数的取值范围 | 非负数的取值范围 | 
| FLOAT | 4 | 
 -3.402823466E+38~ -1.175494351E-38  | 
 0和1.175494351E-38~ 3.402823466E+38  | 
M参数称为精度,表示数据总长度,不算小数点。
D参数称为标度,指小数点后面的长度。
其他的浮点型还有DOUBLE(8),定点型DECIMAL(M, D)或者DEC(M, D),由于MYSQL中的浮点型数据会出现误差,如果需要精确的话建议使用DEC定点型。
三:日期和时间类型
| 整型类型 | 字节数 | 取值范围 | 零值 | 
| DATETIME | 8 | 
 1000-01-01 00:00:00~ 9999-12-31 23:59:59  | 
 0000-00-00 00:00:00  | 
表示日期时间一般都是用DATETIME类型,还有一些不常用的
YEAR(1): 只表示年份,范围1901~2155
DATE(4): 只表示年月日,范围1000-01-01~9999-12-31
TIME(3): 表示小时,分,秒。范围-838:59:59~838:59:59
TIMESTAMP(4): 格式和DATETIME一样,但是表示的范围要小。
四:字符串类型
字符串类型(M)
CHAR(M): 固定为M个字节长度存储字符串。
VARCHAR(M): 最长M个字节长度,实际长度为存入字符串的长度+1。
TEXT(M): 最长为65535字节,实际存储空间是存入字符串的长度+2。
ENUM('VALUE1','VALUE2',...): 枚举类型,范围只能是列表中的值,MYSQL存入的是列表中的序列号,如果插入的值不是列表中有的就会报错。列表中值最多65535个
SET('VALUE1','VALUE2',...): 和枚举类型差不多,但是列表中的值最多64个。
五:二进制类型
待续。。。
MYSQL数据库学习----MYSQL数据类型的更多相关文章
- MYSQL数据库学习----MYSQL函数
		
MYSQL函数分为几种 数学函数 字符串函数 日期和时间函数 条件判断函数 系统信息函数 加密函数 格式化函数 一:数学函数 主要使用的几个数学函数 1 ABS()----绝对值函数 eg. SELE ...
 - MySQL数据库学习: 01 —— 数据库的概述
		
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
 - MYSQL数据库学习笔记1
		
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
 - MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
 - Mysql数据库学习笔记之数据库索引(index)
		
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
 - mysql数据库,当数据类型是float时,查询居然查询不出数据来
		
mysql数据库,当数据类型是float时,查询居然查询不出数据来,类似如下: 以后mysql数据库不用float类型,而double类型可以查得出来.
 - MySQL数据库学习----理论基础
		
一:数据存储发展过程 1. 人工管理阶段 主要存储在纸带.磁带等介质中,手工记录,效率低下. 2. 文件系统阶段 存储在计算机磁盘中,以文件形式出现,数据管理变得简单,但是数据没有结构化处理,不易于查 ...
 
随机推荐
- iOS 读书笔记 第一章
			
1.确定某个实例或类方法是否可用. 1)使用NSObject的类方法instancesRespondToSelector:来确定是否在该类的一个实例中存在一个特定的选择器. NSArray *arra ...
 - 转:为什么Uber宣布从Postgres切换到MySQL?
			
转: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547609&idx=1&sn=cbb55ee823dd ...
 - 转: memcached Java客户端spymemcached的一致性Hash算法
			
转自:http://colobu.com/2015/04/13/consistent-hash-algorithm-in-java-memcached-client/ memcached Java客户 ...
 - HDU 1003 Max Sum (动规)
			
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
 - JSON JavaScriptSerializer 字符串的长度超过了为 maxJsonLength 属性设置的值。
			
1.序列化: 以下代码在对象过大时会报错:进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. //jsonObj比较大的时候会报错 var serialize ...
 - Python演绎的精彩故事(二)
			
书接上回.在展示了App最顶层的代码后,我们去看看各模块怎样编程. 为了能看懂各模块的代码,首先须要铺垫一下Softchip架构的基本概念和设计规范. 1.随意模块不持有其它模块的实例.自然不再显式使 ...
 - Jupyter notebook 使用Turorial
			
The cell magics in IPython http://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/note ...
 - php利用cookie防止重复提交解决办法
			
原理:如果数据通过了上边的两次验证,说明数据是合法有效的数据,这时候我们把提交的数据串接为一个字符串,并用MD5加密后得到一个MD5的值. 接着我们把这个值通过Cookie放进客户端,当用户下一次提交 ...
 - Mysql性能优化笔记
			
一,索引 1.Innodb索引使用的是B+树 2.尽量简化where条件,比如不要出现 where id + 3 = 5,这无法使用索引 3.索引很大时,可以冗余一列来模拟哈希索引 4.小的表不需要使 ...
 - DTD复习笔记(复习资料为菜鸟教程里的DTD教程)
			
DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块. DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用. 为什么使用 DTD? 通过 DTD,您的每一个 XML 文件均可携带 ...