学习自 https://www.cnblogs.com/jennyyin/p/7895010.html,感谢原博主的奉献

mysql支持多种类型,大致可以分为三类:数值、字符串、日期/时间。

数值类型

类型 大小 范围(有符号) 范围(无符号) 用途

tinyint 1字节 (-128, 127) (0,255) 小整数值

smallint 2字节 (-32768,32768) (0,65535) 大整数值

mediumin 3字节 (-8388608,8388607) (0,16777215) 大整数值

int或integer 4字节 (-2147483648,2147483647) (0,4294967295) 大整数值

bigint 8字节 (-9233372036854775808,9223372036854775807) (0,18446744073709551615) 极大整数值

float 4字节 (-3.402823466E+38,-1.175494351E-38),0,(1.175494351E-38,3.402823466351E+38) 0,(1.175494351E-38,3.402823466E+38) 单精度浮点数值

double 8字节 (-1.7976931348623157E+308,-2.2250738585072014E-308),0,(2.2250738585072014E-308,1.7976931348623157E+308) 0,(2.2250738585072014E-308,1.7976931348623157E+308) 双精度浮点数值

注:使用int时,字段数值范围只与多少字节、有无符号有关。如tingint 数值范围(有符号-128~127、无符号0~255),与int(m)中的m无关。

m表示最大显示宽度,最大有效显示宽度是255.显示宽度与存储大小或类型包含的值的范围无关。

例如m=5我们可以简单的理解成为, 我们建立这个长度是为了告诉MYSQL数据库我们这个字段的存储的数据的宽度为5位数,  当然如果你不是5位数(只要在该类型的存储范围之内)MYSQL也能正常存储。

字符串

字符串类型指char、varchar、binary、varbinary、blob、text、enum和set。

char和varchar:

1.char(n)若存入字符数小于n,则以空格补于其后,查询时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。

2.char(n)固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。

3.char类型的字符串检索速度要比varchar快。

简单的总结来说,mysql中获取字符串长度的有两个函数:

length:返回字符串所占的字符数,是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符

char_length:返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符

varchar和text:

1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节

2.text类型不能有默认值

3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

enum和set:

1.enum单选字符串类型,设定时需要给定几个选项,存储时只存储其中一个值。设定enum格式:enum('选项1','选项2','选项3',...)。实际上enum的选项都会对应一个数字,依次是1,2,3...,最多有65535个选项。

2.set多选字符串类型,设定时需要给定几个选项,存储时可以存储若干个值。设定set格式:set('选项1','选项2','选项3',...)。set的每个选项也对应一个数字,依次是1,2,4,8,16...,最多有64个选项,使用时可以是选项字符串本身(多个选项用逗号分隔),也可以使用多个选项数字之和(比如:1+2+4=7)

类型

char 0-255字节 定长字符串

varchar 0-65535字节 变长字符串

tinyblob 0-255字节 不超过255个字符的二进制字符串

tinytext 0-255字节 短文本字符串

blob 0-65535字节 二进制形式的长文本数据

text 0-65535字节 长文本数据

mediumblob 0-16777215字节 二进制形式的中等长度文本数据

mediumtext 0-16777215字节 中等长度文本数据

longblob 0-4294967295字节 二进制形式的极大文本数据

longtext 0-4294967295字节 极大文本数据

日期时间类型

表示时间值的日期和时间类型为datetime、date、timestamp、time和year。

date 3字节 1000-01-01/9999-12-31 yyyy-mm-dd 日期值

time 3字节 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间

year 1字节 1901/2155 YYYY 年份值

datetime 8字节 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

timestamp 4字节 1970-01-01 00:00:00/2038 结束时间2038年 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

二进制

布尔:bit

bit表示1个二进制位

bit(8)表示8个二进制位

性别可以定义为0,1,而不使用male或female字符串

数据逻辑删除

车在车库的停放状态

所有基于两种状态的数据都可以用0,1来存储

ssm框架逻辑删除mysql_mysql字段类型 - osc_mzx9t9jk的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. python变量无需指定类型对吗_Python变量类型 - osc_3rgq3dae的个人空间 - OSCHINA - 中文开源技术交流社区...

    变量存储在内存中的值,这就意味着在创建变量时会在内存开辟一个空间. 基于变量的数据类型,解析器会分配指定内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型,这些变量可以存储整数. ...

  2. java枚举变量带括号_java枚举类型 - 墨梅的个人空间 - OSCHINA - 中文开源技术交流社区...

    public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般 ...

  3. nubby mysql_Mysql索引 - osc_nubn2pd9的个人空间 - OSCHINA - 中文开源技术交流社区

    索引优先级 索引原理: 通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是我们总是通过同一种查找方式来锁定数据. B_TREE索引: mysql 中的索引: ...

  4. 彩色的mysql_MySQL基本使用 - 彩色泡泡糖的个人空间 - OSCHINA - 中文开源技术交流社区...

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  5. osc mysql_MySQL学习(一) - osc_0sz5p35w的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.MySQL介绍 Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系 ...

  6. php框架大全图解_PHP框架汇总 - 鱼煎的个人空间 - OSCHINA - 中文开源技术交流社区...

    PHP C 扩展 (Phalcon)https://phalconphp.com/zh/ Zephir/C 扩展的加载与 PHP web 服务器守护进程启动进程一次 类和函数提供的扩展都准备好要使用的 ...

  7. 5.0 java集合框架中的接口collection属于_JAVA集合框架 - osc_cyo2dovg的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.为什么要使用集合 单个数据,可以用变量保存: 多个数据,可以用数组保存: 但是对于存储多个数据且数量不确定的情况,使用集合: 二.集合和数组的区别 (1)数组: 1.只能保存同一种类型的数据: 2 ...

  8. ssm整合redis和mysql_ssm整合redis - 开源中国首席碉堡了的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.首先你的有个SSM工程 二.添加引用 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache. ...

  9. 高并发服务器开源项目,高并发服务器框架详解 - osc_qgfjs4a5的个人空间 - OSCHINA - 中文开源技术交流社区...

    1)如何设计如何扩展 2)什么是高并发 (1)任务:完成某个功能的一个一个目标任务,服务器程序也是不例外的. (2)CPU核心:完成具体任务的,是CPU核心 + 周围的外设(读写磁盘IO.网络IO) ...

  10. 清风 mysql_MySQL数据库 - 清风_的个人页面 - OSCHINA - 中文开源技术交流社区

    1.数据库my.cnf 配置 [root@localhost /]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/m ...

最新文章

  1. 在北京植物园吸烟将被机器人劝阻
  2. mac使用的快捷方式
  3. ironpython使用opencv_如何在Dynamo(PythonScript中导入第三方模块)
  4. spark SQL Running the Thrift JDBC/ODBC server
  5. 在IT的路上,我在成长
  6. 果断收藏!Git和GitHub大神常用的20个技巧!
  7. libsvm3.22——使用指南
  8. 基本数据类型与格式化输出
  9. 局域网共享工具_win10一键局域网共享工具使用教程
  10. 关于对-rw-r--r-- 的详细讲解
  11. [转载]Android学习网站
  12. 饿了么推荐系统:从0到1
  13. #!/bin/bash和#!/bin/sh是什么意思以及区别
  14. 如何用Navicat连接mongoDB
  15. [官方软件] Easy Sysprep v4.3.29.602 【系统封装部署利器】(2016.01.22)--skyfree大神...
  16. C语言初学基础篇:No such file or directory 报错 ( C-Free 5 软件使用 )
  17. 为什么使用计算机辅助翻译工具中文译文,TCloud计算机辅助翻译工具
  18. Win10,详细永久关闭更新方法(附图文)
  19. 【U8+】用友U8成本管理模块下,定额分配标准中无法取到新增存货的数据。
  20. Nginx篇01-基本安装配置和静态页面设置

热门文章

  1. 【转】福昕pdf套件注册码激活
  2. ssm+vue基于微信小程序的数学辅导教学学习系统#毕业设计
  3. strcmp()函数用法及其详解
  4. jvisualvm监控本地jvm
  5. 恒定湿热试验条件及标准-环境试验中的湿热试验报告
  6. 12306 下铺coding
  7. java 鱼刺图_鱼刺卡喉咙,喝醋、吃馒头吞饭有用吗?答案全在这
  8. MATLAB 2017a 下载及安装
  9. DoTween使用(完整版添加)
  10. 【设计过程】.NET ORM FreeSql WhereDynamicFilter 动态表格查询功能