MySQL入门(3)——数据类型
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)——数据类型的更多相关文章
- MySQL入门笔记 - 数据类型
参考书籍<MySQL入门很简单> 数据类型是数据的一种属性,可以决定数据的存储方式.有效范围和相应的限制. 1.整数类型 1.1 MySQL的整数类型 MySQL中int类型和inte ...
- MySQL入门(引擎、数据类型、约束)
MySQL入门(二) 表的引擎:驱动数据的方式 - 数据库优化 # 概要:引擎是建表规定的,提供给表使用,不是数据库的 # 展示所有引擎 show engines; # innodb(默认): 支持事 ...
- 21分钟 MySQL 入门教程(转载!!!)
21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...
- MySQL入门(三)
写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...
- MySQL入门笔记
MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: · rpm包形式 · 通用二进制 ...
- MySQL入门转载
21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...
- mysql 入门 基本命令
MYSQL入门学习之一:基本操作 1.登录数据库 www.2cto.com 命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码) ...
- MySQL入门笔记(一)
一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...
- 第二章 MySQL入门篇
第一章 MySQL入门篇 一.MySql简介 简言: 和SQL Server数据库相同,MySQl也是一个关系型数据库管理系统.由瑞典的MySQL AB公司开发,2008年被SUN公司收购,2009年 ...
随机推荐
- HDU - 5115 Dire Wolf (非原创)
Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not ...
- 2020 front-end interview
2020 front-end interview https://juejin.im/post/5e083e17f265da33997a4561 xgqfrms 2012-2020 www.cnblo ...
- requestAnimationFrame & canvas
requestAnimationFrame & canvas https://codepen.io/xgqfrms/pen/jOEPjLJ See the Pen requestAnimati ...
- nasm astrcat函数 x86
xxx.asm %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export ast ...
- NGK Global莫斯科路演:关注内存暴涨和Defi新项目-Baccarat
此次路演由莫斯科演讲师Andrew首先致辞.首先安德鲁回顾了NGK近些年发展的整体情况,表示,NGK技术团队一直在认真的做事并将更加注重技术方案的改进,为行业提供更好的技术解决方案是NGK的愿景,NG ...
- C++算法模板集合
我的常用刷题网站:http://218.5.5.242:9018/JudgeOnline/ https://www.luogu.com.cn/ 排序 选择排序(selection sort) 1 vo ...
- 【commons-pool2源码】写前思考
写作的初衷 工作4年多, 一直没有系统的阅读过优秀的开源代码, 所以从今年开始做一些尝试, 阅读源码并且试着将自己的理解以文章的形式输出, 从而达到以下目的: 通过阅读源码提升自身的技术水准, 通过写 ...
- 生成类库项目时同时生成的pdb文件是什么东东?
英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配置进行增量链接.Release 里的PDB是p ...
- 【Notes_3】现代图形学入门——基础变换、MVP变换模型
基础变换(二维) 三维变化与二维变换矩阵类似 齐次坐标下的基础变换 Scale: \[S(s_x,s_y) =\begin{pmatrix} s_x &0 &0\\ 0 & s ...
- JS驼峰与下划线互转
1.下划线转驼峰 function underlineToHump(s){ var a = s.split("_"); var result = a[0]; for(var i=1 ...