mysql基础之基本数据类型
列类型学习
mysql三大列类型
整型
Tinyint/ smallint/ mediumint/int/ bigint(M) unsigned zerofill
字符串型
Char(M)
Varchar(M)
Text 文本类型
日期时间类型
Date 日期
Time 时间
Datetime 时间时间类型
Year 年类型
整形:
整型系列所占字节与存储范围的关系.
定性: 占字节越多,存储范围越大.
下图: 是具体的数字分析
Tinyint 1个字节 8个位 0 - 2^8-1 , 0-255
-2^7 ----> +2^7-1
分析:
Smallint 2个字节 , 16位 0----2^16-1 = 65535
-2^15 ---> +2^15-1, -32768 -> 32767
一般而言,设某类型 N字节
N字节 , 8N位.
0 ----> 2^8N-1
-2^(8N-1) ---> +2^(8N-1) -1;
对于int型 : 占的字节越多,存储的范围也越大.
整型系统的可选参数 : XXint(M) unsigned zerofill
例: age tinyint(4) unsigned ,或者 stunum smallint(6) zerofill;
Unsigned: 代表此列为无符号类型, 会影响到列的存储范围. (范围从0开始)
(不加unsinged, 则该列默认是有符号类型,范围从负数开始)
Zerofill: 代表0填充, 即: 如果该数字不足参数M位, 则自动补0, 补够M位.
1: 如果没有zerofill属性, 单独的参数M,没有任何意义.
2:如果设置某列为zerofill,则该列已经默认为 unsigned,无符号类型.
小数型
Float(M,D),decimal(M,D)
M叫"精度" ---->代表"总位数",而D是"标度",代表小数位.(小数右边的位数)
浮点数占多大的空间呢
答: float 能存10^38 ,10^-38
如果M<=24, 点4个字节,否则占8字节
用来表示数据中的小数,除了float---浮点.
还有一种叫定点decimal,定点是把整数部分, 和小数部分,分开存储的.
比float精确,他的长度是变化的.
空间上的区别:
Float(M,D), M<=24, 4个字节, 24 <M <=53, 8个字节
Decimal () ,变长字节.
区别: decimal比float精度更高, 适合存储货币等要求精确的数字,
见下例:
字符串性:
Mysql 字符串类型
Char 定长类型
Char(M) , M 代表宽度, 0<=M<=255之间
例:Char(10) ,则能输入10个字符.
Varchar 变长类型
Varchar(M), M代表宽度, 0<=M<=65535(以ascii字符为例,utf822000左右)
0000000000
00\0\0\0\0\0 (char型,如果不够M个字符,内部用空格补齐,取出时再把右侧空格删掉)
注:这意味着,如果右侧本身有空格,将会丢失.
通过concat函数可以验证!
M 代表字符长度,和是否是汉字和字母无关。
Blob,是二进制类型,用来存储图像,音频等二进制信息.
意义: 2进制,0-255都有可能出现.
Blob在于防止因为字符集的问题,导致信息丢失.
比如:一张图片中有0xFF字节, 这个在ascii字符集认为非法,在入库的时候,被过滤了.
enum选择一个,set选择多个
日期时间类型
Year 年(1字节) 95/1995, [1901-2155],
在insert时,可以简写年的后2位,但是不推荐这样.
[00-69] +2000
[70-99] + 1900,
即: 填2位,表示 1970 - 2069
Date 日期 1998-12-31
范围: 1000/01/01 ,9999/12/31
Time 时间 13:56:23
范围: -838:59:59 -->838:59:59
datetime 时期时间 1998-12-31 13:56:23
范围: 1000/01//01 00:00:00 ---> 9999:12:31 23:59:59
timestamp
时间戳:
是1970-01-01 00:00:00 到当前的秒数.
一般存注册时间,商品发布时间等,并不是用datetime存储,而是用时间戳.
因为datetime虽然直观,但计算不便.
mysql基础之基本数据类型的更多相关文章
- mysql基础知识之数据类型与约束
一.约束 作用: 保证数据的完整性和一致性表的设计 1.not null 和 default not null 是放在最后用来约束 前面 数据类型的 (在原有基础上本来可以主键后面可以为空,但是一旦在 ...
- MySQL基础操作与数据类型
目录 1.文件夹(库) 2.文件(表) 3.文件的一行内容 4.创建表的完整语法 5.整型类型 6.补充sql_mode 7.浮点型 8.字符类型 9.日期类型 10.枚举与集合类型 1.文件夹(库) ...
- MYSQL基础笔记(六)- 数据类型一
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
- MySQL基础(1) | 数据类型
MySQL基础(1) | 数据类型 数值类型 TINYINT #小整数值,1 字节,有符号(-128,127),无符号(0,255) SMALLINT #大整数值,2 字节 MEDIUMINT #大整 ...
- Mysql基础(三):MySQL基础数据类型、完整性约束、sql_mode模式
目录 2.MySQL基础数据类型.完整性约束.sql_mode模式 1. MySQL常用数据类型 2. 完整性约束 3. MySQL的sql_mode模式说明以及设置 2.MySQL基础数据类型.完整 ...
- 数据库02 /MySQL基础数据类型、完整性约束、sql_mode模式
2.MySQL基础数据类型.完整性约束.sql_mode模式 目录 2.MySQL基础数据类型.完整性约束.sql_mode模式 1. MySQL常用数据类型 MySQL常用数据类型预览 1. 1 数 ...
- MySQL基础篇(2)数据类型
MySQL提供了多种数据类型,主要包括数值型.字符串类型.日期和时间类型. 1.数值类型 整数类型:TINYINT(1字节).SMALLINT(2字节).MEDIUMINT(3字节).INT(INTE ...
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
随机推荐
- zoom的学习
上大学做阶段项目时遇到了一个非常奇特的现象:kindEditor上传图片功能失效,可是把jsp所引用的样式去掉就好用,这说明样式有问题,于是删一个样式測试一下,就这样罪魁祸首落在了zoom身上,这是我 ...
- JNDI数据源配置注意事项
假设是在原有project上改动 1,applicationContext.xml中改动当中的value值 <bean id="dataSource" class=" ...
- 内存四个领域,变量声明和定义,注册,c内联汇编,auto,堆,不变,静态变量
1.内存四大区域 2.在程序中,变量的声明能够有多份,定义仅仅能有一份 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVh ...
- angularjs从零开始(一)
简介 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小 ...
- js中document.write()使用方法
<script> var hrf = window.location.href; if(hrf.indexOf('change')>0){ ...
- C# 你不能调用的问题剪贴板线程
最近在做一个项目,需要使用线程,并使用剪贴板,头发得到较少的数据在剪贴板上后,现在的孩子线程创建一个子线程,我特别困惑,上网查资料.最后,得到最终的.下面的例子现在将概括解: 第一步: public ...
- 【SICP练习】150 练习4.6
练习4-6 原版的 Exercise 4.6. Let expressions are derived expressions, because (let (( ) - ( )) ) is equiv ...
- 编译器神vim改头换面
我相信,农民听到两件神器码,首先emacs,首先vim.大家都知道e党和v党总是吵架.竟,这无助于嘈杂.只是每个人都有自己的道理也适用.在接触vim,同时联系emacs.对于作家,我认为vim更适合. ...
- Cocos2d-x学习笔记(两)Cocos2d-x总体框架
原创文章.转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38680123 前言 上一节我们简单分析了HelloWorldproje ...
- Cgroup maintainer丽泽范:解剖Linux核心容器技术
摘要:Cgroup和namespace等内核特性如何出现,在社区处于如何的开发状况?Docker如火如荼.内核社区是否会因此加紧完好容器技术的隔离性安全性?华为Linux内核高级project师李泽帆 ...