1、MySQL支持多种数据类型:

1》数值类型:整数类型tinyint、smallint、mediumint、bigint、int;浮点小数类型float、double;定点小数类型decimal。

2》日期 / 时间类型:year、time、date、datetime、timestamp。

3》字符串类型:char、varchar、binary、varbinary、blob、text、enum、set。

2、各种数据类型详解:

1》整数类型:

2》浮点数类型和定点数类型

MySQL中使用浮点数和定点数来表示小数。浮点数有两种:单精度浮点数(float)和双精度浮点数(double)。定点数只有一种类型:decimal。

浮点数类型和定点数类型都可以使用(M,N)来表示,其中M称为精度,表示总共的位数;N称为标度,是表示小数的位数。

decimal类型不同于float和double,decimal实际是以串存放的,decimal可能的最大取值范围与double一样,但是其有效的取值范围由M和D的值决定。如果改变M而固定D,则其取值范围将随M的变大而变大。其存储占用的空间也不是固定的,是M+2个字节。

数据类型 有 / 无符号 最小值 最大值
float类型取值范围 有符号的取值范围 -3.402823466E+38 -1.175494351E-38
无符号的取值范围 0和1.175494351E 3.402823466E+38
double类型取值范围 有符号的取值范围 -1.7976931348623157E+308 -2.2250738585072014E-308
无符号的取值范围 0和2.2250738585072014E-308 1.7976931348623157E+308

不论是定点还是浮点类型,如果用户指定的精度超出精度范围,则会四舍五入进行处理。float、double在不指定精度时,默认会按照实际的精度(由计算机硬件和操作系统决定),decimal如果不指定精度,默认是(10,0)。

3》日期和时间类型

主要有:datetime、date、timestamp、time、year。

1>year:

  输入格式 范围 示例
以4位字符串或者4位数字格式表示year 'YYYY'或YYYY '1901'~'2155' 输入'2010'或2010
以2位字符串格式表示year '00'~'69'范围值转换为2000~2069;'70'~'99'转换为1970~1999。'0'和'00'作用相同,插入超过取值范围的值将被转换为2000。 '00'~'99'  
以2位数字表示year 1~69转换为2001~2069;70~99转换为1970~1999。但0值将为转换为0000,而非2000。非法year值都将转换为0000。 1~99  

2>time:

currrent_time / current_time():时间函数

now():时间函数

3>date类型

可以使用字符串类型和数字类型的数据插入,只要符合date类型的日期格式。其中年份可以简写YY,但世纪不确定,解析同year的缩写形式。

使用current_date / current_date()、now()。允许使用不严格的语法,其中的格式分割符可以是非标准的分隔符。

4>datetime类型

now()函数。允许使用不严格的语法,其中的格式分割符可以是非标准的分隔符。

5>timestamp类型:

4》文本字符串类型:文本字符串、二进制字符串

1> char(M)和varchar(M),在严格模式下,字段最多存储M个字符,只是char(M)会一直占用M个字符的存储空间,而varchar(M)则根据实际存储的字符个数N存储N+1个字符的空间。

2>text类型:tinytext、text、mediumtext、longtext

3>enum类型:可以插入枚举值、枚举值对应的序号

字段名 enum('value1','value2',...,'valueN');

4>set类型:字符串对象最为元素。

5》二进制字符串类型

二进制数据类型有:bit、binary、varbinary、tinyblob、blob、mediumblob、longblob。

1>bit类型:位字段类型。

2>binary和varbinary类型

3>blob类型

3、如何选择数据类型

MySQL-快速入门(2)数据类型的更多相关文章

  1. MySql基础笔记(一)Mysql快速入门

    Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...

  2. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  3. MySQL 快速入门(一)

    目录 MySQL快速入门 简介 存储数据的演变过程 数据库分类 概念介绍 MySQL安装 MySQL命令初始 环境变量配置 MySQL环境变量配置 修改配置文件 设置新密码 忘记密码的情况 基本sql ...

  4. MySQL快速入门(二)

    目录 MySQL快速入门(二) 约束条件 自增 自增的特性 主键 外键 级联更新/删除 表与表之间的关系 外键约束 操作表方法 查询关键字 练习数据 select··from where 筛选 gro ...

  5. Python 3 快速入门 1 —— 数据类型与变量

    本文假设你已经有一门面向对象编程语言基础,如Java等,且希望快速了解并使用Python语言.本文对重点语法和数据结构以及用法进行详细说明,同时对一些难以理解的点进行了图解,以便大家快速入门.一些较偏 ...

  6. MySQL 快速入门

    MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格 ...

  7. Mysql快速入门(看完这篇能够满足80%的日常开发)

    这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tut ...

  8. SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

    SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...

  9. 阿里云RDS for MySQL 快速入门——笔记

    1初始化配置 1.1设置白名单 创建RDS实例后,需要设置RDS实例的白名单,以允许外部设备访问该RDS实例.默认的白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例. 设 ...

  10. MySQL快速入门及常用命令

    数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...

随机推荐

  1. java常用类与包装类--常用类正则表达式 String正则方法+Matcher+Pattern

    0.java中的正则 java 中的正则总共涉及三个类(或者说1个String类和一个regex包) java.lang.String java.util. Matcher java.util.Pat ...

  2. 非root用户随开机而启动mysql服务

    非root用户随开机而启动mysql服务 今天验证了一下,非root用户随开机而启动msyql服务的脚本执行效果,特此简要记录如下: 环境: 192.168.142.130 mysql 5.6.41 ...

  3. CMDB架构需求实现

    CMDB资产管理部分实现 需求 1.存储所有IT资产信息 2.数据可手动添加 3.硬件信息可自动收集 4.硬件信息可自动变更 5.可对其他系统灵活开放API 6.API接口安全认证 立业之本:定义表结 ...

  4. Python 变量类型 Ⅱ

    Python字符串 字符串或串(String)是由数字.字母.下划线组成的一串字符. 一般记为 : s="a1a2···an"(n>=0) 它是编程语言中表示文本的数据类型. ...

  5. Python使用XML操作mapnik,实现复杂标注(Multi line text symbolizer)

    test.py import mapnik stylesheet = 'world_style.xml' image = 'world_style.png' m = mapnik.Map(1200, ...

  6. 查看有没有绑这个host

    1.查看有没有绑这个host ping broker.vs.amap.com

  7. 【知识】location.search获取中文时候会被编码成一串字符

    [转码] 例如:case.html?id='这个是页面的标题' 当想要使用location.search获取?id='这个是页面的标题'的时候,包含的中文会被编码成一串字符串. 所以我们需要进行解码, ...

  8. sh_12_转义字符

    sh_12_转义字符 # \t 在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐 print("1\t2\t3") print("10\t20\t30&qu ...

  9. java实现微信小程序服务端(登录)

    微信小程序如今被广泛使用,微信小程序按照微信官网的定义来说就是: 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 这就是微信小程序的魅力所在,有 ...

  10. ASP.NET MVC3.0下载功能实现

    C#代码: #region 下载文件 /// <summary> /// 下载文件 /// </summary> /// <param name="url&qu ...