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年 ...
随机推荐
- eclipse中使用debug,显示参数配置
打开Window---->Preferences------>java------>Editor-------->Hovers 效果:
- Linux POSIX共享内存方法&ipcs &struct shmid_ds
内容是主进程创建子进程计算斐波那契数列. 其中计算到第几项是有主进程命令行输入. 共享内存段,并且查看了一些信息. 参考操作系统概念第七版 3.10,3.11 关于LINUX C库函数 中的 fpri ...
- 图解算法——链表中倒数第k个节点
题目来源: 剑指 Offer 22. 链表中倒数第k个节点 leetCode 题目描述: 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个 ...
- 脚本化CSS(通过JS来间接操作CSS)
(一)通过.style.形式,获取的是行间样式,可读可写 1.行间样式语法 1 <div style="width:100px;border:5px solid red;height: ...
- Android Activity All In One
Android Activity All In One Android Activity Lifecycle https://developer.android.com/reference/andro ...
- Android Studio & SDK & JDK & setting path
Android Studio & SDK & JDK & setting path https://developer.android.com/studio/intro/upd ...
- css skeleton & web app skeleton
css skeleton & web app skeleton skeleton https://www.cnblogs.com/xgqfrms/p/10437258.html https:/ ...
- Linux in depth
Linux in depth bash file text editor filter selector command ?
- js & disabled right click & disabled right menu
js & disabled right click (() => { const log = console.log; log(`disabled copy`); document.bo ...
- centos7下载和安装 通过xshell连接,有手就行,小白教程
下载步骤: https://mirrors.aliyun.com/centos/?spm=a2c6h.13651104.0.0.3c3712b2NaHUdY 点击下载或者复制链接到迅雷下载 下载好以后 ...