MySQL入门(3)——数据类型

数字类型

整数数据类型:

数据类型 取值范围 说明 单位
TINYINT 符号值:-127~127
无符号值:0~255
最小的整数 1字节
BIT 符号值:-127~127
无符号值:0~255
最小的整数 1字节
BOOL 符号值:-127~127
无符号值:0~255
最小的整数 1字节
SMALLINT 符号值:-32 768~32 767
无符号值:0~65 535
小型整数 2字节
MEDIUMINT 符号值:-8 388 608~8 388 607
无符号值:0~16 777 215
中型整数 3字节
INT 符号值:-2 147 683 648~2 147 683 647
无符号值:0~4 294 967 295
标准整数 4字节
BIGINT 符号值:-9 223 372 036 854 775 808~9 223 372 036 854 775 807
无符号值:0~18 446 744 073 709 551 615
大整数 8字节

浮点数据类型:

数据类型 取值范围 说明 单位
FLOAT +(-)3.402 823 466E+38 单精度浮点数 8或4字节
DOUBLE +(-)1.797 693 134 862 315 7E+308
+(-)2.225 073 858 507 201 4E-308
双精度浮点数 8字节
DECIMAL 可变 一般整数 自定义长度

字符串类型

字符串类型分为3类:普通的文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)。

常规字符串类型:

类型 取值范围 说明
[national]
char(M)
[binary|ASCII|unicode]
0~255个字符 固定长度为M的字符串,其中M的取值范围是0~255。national关键字指定了应该使用的默认字符集。binary关键字指定了数据是否区分大小写(默认区分大小写)。ASCII关键字指定了在该列中使用latin1字符集。unicode关键字指定了使用UCS字符集。
char 0~255个字符 char(M)类似。
[national]
varchar(M)
[binary]
0~255个字符 长度可变,其它和char(M)类似。

可变类型(TEXT适用于长文本,BLOB适用于二进制数据):

类型 最大长度(字节数) 说明
TINYBLOB 2^8-1(255)​ 小BLOB字段
TINYTEXT 2^8-1(255)​ 小TEXT字段
BLOB 2^16-1(65 535)​ 常规BLOB字段
TEXT 2^16-1(65 535)​ 常规TEXT字段
MEDIUMBLOB 2^24-1(16 777 215)​ 中型BLOB字段
MEDIUMTEXT 2^24-1(16 777 215)​ 中型TEXT字段
LONGBLOB 2^32-1(4 294 967 295)​ 长BLOB字段
LONGTEXT 2^32-1(4 294 967 295)​ 长TEXT字段

特殊类型:

类型 最大值 说明
Enum("value1","value2",...) 65 535 该类型的列只可容纳所列值之一或为NULL
Set("value1","value2",...) 64 该类型的列可以容纳一组值或为NULL

使用字符串类型时,应当有如下考量:

  • 为优化速度,要选择固定的列,可考虑CHAR类型;
  • 为节省空间,要选择动态的列,可考虑VARCHAR类型;
  • 要将列中内容限制为一种选择,可考虑ENUM类型;
  • 允许一个列中有多于一个条目,可考虑SET类型;
  • 搜索内容不区分大小写,可考虑TEXT类型;
  • 搜索内容区分大小写,可考虑BLOB类型。

日期和时间类型

日期和时间的每种类型都有其取值范围,若赋值不合法则会被“0”取代。

类型 取值范围 说明
DATE 1000-01-01
9999-12-31
日期,格式YYYY-MM-DD
TIME -838:58:59
835:59:59
时间,格式HH:MM:SS
DATETIME 1000-01-01 00:00:00
9999-12-31 23:59:59
日期和时间,格式YYYY-MM-DD HH:MM:SS
TIMESTAMP 1970-01-01 00:00:00
2037年的某个时间
时间戳,在处理报告时使用显示格式取决于M的值
YEAR 1901-2155 年份可以指定两位数字和四位数字格式

MySQL入门(3)——数据类型的更多相关文章

  1. MySQL入门笔记 - 数据类型

    参考书籍<MySQL入门很简单> 数据类型是数据的一种属性,可以决定数据的存储方式.有效范围和相应的限制. 1.整数类型   1.1 MySQL的整数类型 MySQL中int类型和inte ...

  2. MySQL入门(引擎、数据类型、约束)

    MySQL入门(二) 表的引擎:驱动数据的方式 - 数据库优化 # 概要:引擎是建表规定的,提供给表使用,不是数据库的 # 展示所有引擎 show engines; # innodb(默认): 支持事 ...

  3. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  4. MySQL入门(三)

    写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...

  5. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  6. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  7. mysql 入门 基本命令

    MYSQL入门学习之一:基本操作  1.登录数据库    www.2cto.com     命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码)   ...

  8. MySQL入门笔记(一)

    一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...

  9. 第二章 MySQL入门篇

    第一章 MySQL入门篇 一.MySql简介 简言: 和SQL Server数据库相同,MySQl也是一个关系型数据库管理系统.由瑞典的MySQL AB公司开发,2008年被SUN公司收购,2009年 ...

随机推荐

  1. 牛客网多校第4场 A.Ternary String 【欧拉降幂】

    题目:戳这里 学习博客:戳这里 欧拉函数的性质: ① N是不为0的整数.φ(1)=1(唯一和1互质的数就是1本身) ② 除了N=2,φ(N)都是偶数. ③ 小于N且与N互质的所有数的和是φ(n)*n/ ...

  2. 作业day03吴童

    小作业3 1. 求区间[100, 200]内10个随机整型数的最大值 1 import random 2 a = [] 3 for i in range(10): 4 n = random.randi ...

  3. 如何在 VSCODE 中高效使用 R 语言

    VSCODE 配置 R 一.功能特性展示 之前一直在用 Rstudio 来编写 R,也尝试用过 Pycharm 配置 R 环境. 但是由于现在需求要同时满足 Python,R 和网站要同时开发,为了避 ...

  4. Promise thenable All In One

    Promise thenable All In One Promise thenable 是指一个函数或一个对象的里面定义了一个 then 方法 Promises/A+ https://promise ...

  5. 微信公众号 bug

    微信公众号 bug web bug refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  6. nasm astrlwr_s函数 x86

    xxx.asm %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export ast ...

  7. HANNAH WHITE:从Facebook谈坚持

    HANNAH WHITE于1993年毕业于加州斯坦福大学,被美国多家知名杂志评为最值得关注经济管理学杰出人才,2006年-2009年担任Doll资本管理公司部门主管,2009年-2013年担任Doll ...

  8. BGV暴涨千倍,未来或将超越YFI领跑DeFi全场!

    毫无疑问,YFI在2020年上半年以一己之力掀翻了DeFi市场的热潮.迄今为止,YFI的新鲜资讯从不缺席,最近也是频频登上各大知名媒体热搜.其币价远远超过比特币价格,也让资本市场注意到DeFi市场原来 ...

  9. spring boot插件开发实战和原理

    本文转载自spring boot插件开发实战和原理 实战:编写spring boot插件 为什么要编写boot插件 因为我们在开发的时候需要提供一些共同的功能,所以我们编写个共同的jar包.开发人员在 ...

  10. Redis 使用入门

    NoSql概述 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",它泛指非关系型的数据库, Redis 是一个高性能的开源的.C语言写的Nosql( ...