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年 ...
随机推荐
- ArcGIS处理栅格数据(一)
一.建立影像金字塔 ArcToolbox--数据管理工具--栅格--栅格属性--构建金字塔(pyramid) 说明:该方式一次只能为一张影像数据建立影像金字塔. ArcToolbox--数据管理工具- ...
- KafkaConsumer 简析
使用方式 创建一个 KafkaConsumer 对象订阅主题并开始接收消息: Properties properties = new Properties(); properties.setPrope ...
- anaconda python3.7 安装 tensorflow-gpu 2.0.0 beta1 配置PyCharm
参考tensorflow 公众号<tensorflow2.0 安装指南> https://mp.weixin.qq.com/s/7rNXFEC5HYe91RJ0-9CKdQ # 1. NV ...
- Linux下/bin和/sbin的区别
bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp.chmod df.dmesg.gzip.kill.ls.mkdir.more.mount.rm.su.tar等./u ...
- mssql数据库提权(xp_cmdshell)
1.关于 "xp_cmdshell" "存储过程":其实质就是一个"集合",那么是什么样的结合呢,就是存储在SqlServer中预先定义好的 ...
- React PureComponent All In One
React PureComponent All In One import React, { // useState, // useEffect, // Component, PureComponen ...
- JavaScript Array methods performance compare
JavaScript Array methods performance compare JavaScript数组方法的性能对比 env $ node -v # v12.18.0 push vs un ...
- URLSearchParams & GET Query String & JSON
URLSearchParams & GET Query String & JSON https://developer.mozilla.org/zh-CN/docs/Web/API/U ...
- NGK公链助力医疗行业数据安全
近年来医疗领域的数据泄露事件时有发生,医疗行业数据面临着医疗数据获得不易及缺乏有效管理和数据安全机制问题.而区块链的去中心化.分布式账本等特点正好契合医疗领域的需求点. 医疗数据市场痛点 一.医疗信息 ...
- Baccarat中挖矿、兑换和做市的三角关系是什么?
NGK在这波DeFi潮中,推出了Baccarat,为用户带来了流动性挖矿收益,今天笔者就讲一讲Baccarat中挖矿.兑换和做市的关系. 兑换和做市是什么关系呢?众所周知,换币者,是用一种货币去换另一 ...