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年 ...
随机推荐
- Kubernets二进制安装(7)之部署主控节点服务--apiserver二进制安装
kube-apiserver集群规划 主机名 角色 IP地址 mfyxw30.mfxyw.com kube-apiserver主 192.168.80.30 mfyxw40.mfyxw.com kub ...
- canvas实现简易时钟效果
代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
- window.onresize使用实例
<!DOCTYPE html> <html> <head> <title>请调整浏览器窗口</title> <meta charset ...
- 使用MCSManager搭建Minecraft服务器
目录 一.准备工作 1.MCSManager Windows环境下安装 Linux安装 2.Minecraft服务端 3.Java 二.配置 1.登录面板 2.上传服务端 3.服务端的配置 三.开启服 ...
- Swift 5.3 All In One
Swift 5.3 All In One refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- modal 遮罩层,滚动穿透 bug
modal 遮罩层,滚动 穿透bug float 弹层 taro 小程序弹框 滚动击穿 问题 https://segmentfault.com/q/1010000011134345 solution ...
- 2021,狗狗币暴涨,VAST更加疯狂!
2021年的币圈,多多少少出乎人的意料.很多币圈玩家们看好比特币,比特币却在达到4万美金的巅峰之后,极速下滑.很多玩家们看好以太坊,以太坊的手续费却出现了飙涨,让众多的中小散户们再次退却.而前几年已经 ...
- Mybatis-04 日志、分页
Mybatis-04 日志.分页 日志 1.日志工厂 如果数据库操作出现异常,就需要打印日志来排错. 日志工厂会把日志工作委托实现: SLF4J Apache Commons Logging Log4 ...
- alpakka-kafka(1)-producer
alpakka项目是一个基于akka-streams流处理编程工具的scala/java开源项目,通过提供connector连接各种数据源并在akka-streams里进行数据处理.alpakka-k ...
- eclipse安装mybatis的插件
在help中打开Eclipse Marketplace... 输入mybatis后搜索,点击install即可 功能说明: 1.查找某一个方法 在dao接口中 按住Ctrl键,鼠标指到方法名称上 选择 ...