Mysql学习笔记17——数据类型-阿里云开发者社区

开发者社区> 是安可啊> 正文

Mysql学习笔记17——数据类型

简介: Mysql学习篇
+关注继续查看

细枝末节

   1. 类型选择原则:越简单越小越好

   

分类

1. 整型

        1) tinyint       1字节

        2) smallint      2字节

        3) mediumint     3字节

        4) int/integer   4字节

        5) bigint        8字节

2. 小数

        1) 定点型

                1. DECIMAL(M,D)/DEC(M,D)   M+2字节

        2) 浮点型

                1. float(M,D)    4字节

                2. double(M,D)   8字节

3. 字符型

        1) 较短文本:char,varchar

        2) 较长文本:text,blob(较长的二进制数据)

4. 日期型

整型

备注

1. 默认设置有符号,设置无符号要添加unsigned

2. 如果插入值超出类型范围,会报out of range错误,并且将插入值改为临界值

3. 不设置长度,会有默认长度;设置长度,位数不够时在左边补0,要搭配zerofill使用

4. 使用zerofill默认为无符号

示例

CREATE TABLE int_test(

    /* int类型 */

    t1 int,

    /* 无符号int类型 */

    t2 int undesigned,

    /* 显示长度为5的int类型,位数不够时左边用0填充 */

    t3 int(5) zerofill

);

小数

分类

1. 浮点型

        1) float(M,D)

        2) double(M,D)

2. 定点型

        DEC(M,D)/DECIMAL(M,D)

备注

1. M:整数部分+小数部分的位数

2. D:小数部分位数

3. 超过范围,则插入临界值

4. M和D都可以省略,省略时float和double根据数值精度决定;decimal默认M为10,D为0

5. 定点型精度高,一般用于高精度如货币运算

字符型

分类

1.短文本

    1) char(M)

    2) varchar(M)

    其他:

        binaryvarbinary用于保存较短的二进制

        enum用于保存枚举

        set用于保存集合

2. 长文本

    1) text

    2) blob

备注

1. M:该字段的值最长字符数

2. char表示固定长度字符,存在内存浪费,效率高,M可省略默认为1

3. vachar表示可变长度字符,节省内存,效率低,M不可省略

日期型

分类

1. date,只有日期

2. time,只有时间

3. year,只有年份

4. datetime,date+time

5. datestamp,

备注

1. timestamp范围:19700101080001~2038年某个时间

2. datetime范围:1000-1-1~9999-12-31

3. timestamp受时区和MySQL版本影响

4. datetime只能反映出插入时的当地时区

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL数据类型详解
MySQL数据类型详解引言MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型,如下脑图所示: 数值类型类型 大小 范围(有符号) 范围(无符号) 用途TINYINT 1 字节 ...
786 0
Python零基础学习笔记(四)——数据类型
python数据类型:Number(数字):包括整数/浮点数(小数)/复数String(字符串)Boolean(布尔值)None(空值)list(列表)tuple(元组)dict(字典)set(集合)
1236 0
iOS开发笔记 7、数据【Preferences、文件、库、Core Data】
程序开发中根据要使用各种各样的数据,如配制、文件系统、数据库等,iOS对这个有很好的支持 Preferences If you’re going to create a program that has built-in preferences, you should do so using the Utility Application template.
817 0
SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程
SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程 1. 一个SAS程序可能包含一个或几个语言成分: DATA步或PROC步 全程语句 SAS组件语言(SCL) 结构化查询语言(SQL) SAS宏语言 2. 宏触发:% 是一个宏语句或宏函数;&是一个宏变量引用 3. 局部宏变量:一般程序定义的为宏变量。 全局
1704 0
数据结构学习笔记——最大子列和问题
PTA 中国大学MOOC-陈越、何钦铭-数据结构 01-复杂度1 最大子列和问题(20 分) 给定K个整数组成的序列{ N​1​​ , N​2​​ , ..., N​k},“连续子列”被定义为{ N​i , N​i+1​​ , ..., N​j},其中 1≤i≤j≤K。
1025 0
+关注
是安可啊
陷阵之志,有死无生。
61
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载