一、数据类型(DATA Type)概述

MySQL支持多种类型的SQL数据类型:数字类型,日期和时间类型,字符串(字符和字节)类型以及空间类型
数据类型描述使用以下约定:

  • M表示整数类型的最大显示宽度。对于浮点和定点类型, M是可以存储的总位数(精度)。对于字符串类型, M是最大长度。允许的最大值M取决于数据类型
  • D适用于浮点和定点类型,并指示小数点后面的位数(刻度)。最大可能值为30,但不应大于 M-2。
  • 方括号([和])表示类型定义的可选部分
1.1、数字类型

M表示整数类型的最大显示宽度。最大显示宽度为255.显示宽度与类型可包含的值范围无关,对于浮点和定点类型,M是可以存储的总位数。

如果指定ZEROFILL数字列,MySQL会自动将该UNSIGNED 属性添加到列中。
允许该UNSIGNED 属性的数字数据类型也允许SIGNED。但是,默认情况下SIGNED会对这些数据类型进行签名,因此该 属性不起作用。

SERIAL是别名BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE。

SERIAL DEFAULT VALUE在整数列的定义中是别名NOT NULL AUTO_INCREMENT UNIQUE。

数字类型 描述
TINYINT 一个非常小的整数
SMALLINT 一个小整数
MEDIUMINT 一个中等大小的整数
INT 标准整数
BIGINT 一个大整数
DECIMAL 定点数
FLOAT 单精度浮点数
DOUBLE 双精度浮点数
1.2、MySQL布尔数据类型

MySQL没有内置 BOOLEAN或BOOL数据类型。为了表示布尔值,MySQL使用最小的整数类型TINYINT(1)。换句话说,是 BOOLEAN和BOOL的同义词TINYINT(1).

1.3、MySQL String数据类型

在MySQL中,字符串可以包含从纯文本到二进制数据(如图像或文件)的任何内容。通过使用LIKE运算符, 正则表达式和全文搜索,可以基于模式匹配来比较和搜索字符串

字符串类型 描述
CHAR 固定长度的非二进制(字符)字符串
VARCHAR 可变长度的非二进制字符串
BINARY 固定长度的二进制字符串
VARBINARY 可变长度的二进制字符串
TINYBLOB 一个非常小的BLOB(二进制大对象)
BLOB 一个小BLOB
MEDIUMBLOB 一个中等大小的BLOB
LONGBLOB 一个大BLOB
TINYTEXT 一个非常小的非二进制字符串
TEXT 一个小的非二进制字符串
MEDIUMTEXT 中等大小的非二进制字符串
LONGTEXT 一个很大的非二进制字符串
ENUM 枚举; 可以为每个列值分配一个枚举成员
SET 一套; 可以为每个列值分配零个或多个SET成员
MySQL日期和时间数据类型

MySQL提供日期和时间类型以及日期和时间的组合。此外,MySQL支持 时间戳数据类型,用于跟踪表中一行的更改。如果您只想存储没有日期和月份的年份,则可以使用YEAR数据类型。日期和时间类型代表的时间值 DATE, TIME, DATETIME, TIMESTAMP,和 YEAR。每个时间类型都有一系列有效值,以及当您指定MySQL无法表示的无效值时可以使用的“ 零 ”值。该TIMESTAMP类型具有特殊的自动更新行为

日期和时间类型 描述
DATE CCYY-MM-DD格式的日期值
TIME hh:mm:ss格式的时间值
DATETIME CCYY-MM-DD hh:mm:ss格式的日期和时间值
TIMESTAMP CCYY-MM-DD hh:mm:ss 格式化的时间戳值
YEAR 年份CCYY或YY 格式
MySQL空间数据类型
空间数据类型 描述
GEOMETRY 任何类型的空间值
POINT 一个点(一对XY坐标)
LINESTRING 曲线(一个或多个POINT 值)
POLYGON 一个多边形
GEOMETRYCOLLECTION 一组GEOMETRY value
MULTILINESTRING 一组LINESTRING value
MULTIPOINT 一组POINT value
MULTIPOLYGON 一组POLYGON Value
JSON数据类型

JSON自5.7.8版本以来,MySQL支持本机数据类型,允许您更有效地存储和管理JSON文档。本机JSON数据类型提供JSON文档和最佳存储格式的自动验证

二、MySQL备份和恢复

备份数据库非常重要,这样您就可以恢复数据,并在发生问题时重新启动并运行,例如系统崩溃,硬件故障或用户错误地删除数据。在升级MySQL安装之前,备份也是必不可少的保护措施,它们可用于将MySQL安装转移到另一个系统或设置复制从属服务器。

2.1、备份和恢复类型
  • 物理与逻辑备份
    物理备份由目录的原始副本和存储数据库内容的文件组成。此类备份适用于需要在出现问题时快速恢复的大型重要数据库。
    逻辑备份保存表示为逻辑数据库结构(CREATE DATABASE, CREATE TABLE语句)和内容(INSERT语句或分隔文本文件)的信息。此类备份适用于较少量的数据,您可以在其中编辑数据值或表结构,或在不同的计算机体系结构上重新创建数据。
  • 在线与离线备份
    在MySQL服务器运行时进行联机备份,以便可以从服务器获取数据库信息。服务器停止时会发生脱机备份。这种区别也可以描述为“ 热 ”与 “ 冷 ”备份; 一个“ 温暖 ”的备份是一个在服务器保持运行,但锁定,以防止当你从外部访问数据库文件修改数据。
  • 本地与远程备份
    本地备份在运行MySQL服务器的同一主机上执行,而远程备份则从其他主机完成。对于某些类型的备份,即使输出是在服务器上本地写入的,也可以从远程主机启动备份。
  • 快照备份
    某些文件系统实现可以执行“ 快照 ” 。它们在给定时间点提供文件系统的逻辑副本,而不需要整个文件系统的物理副本。(例如,实现可能使用写时复制技术,因此只需要复制快照时间之后修改的部分文件系统。)MySQL本身不提供获取文件系统快照的功能。它可通过Veritas,LVM或ZFS等第三方解决方案获得。
  • 完全与增量备份
    完整备份包括MySQL服务器在给定时间点管理的所有数据。增量备份包括在给定时间跨度内(从一个时间点到另一个时间点)对数据所做的更改。MySQL有不同的方法来执行完整备份,例如本节前面所述的那些。通过启用服务器的二进制日志(服务器用于记录数据更改),可以实现增量备份
  • 完全与时间点恢复
    完全恢复可从完整备份中恢复所有数据。这会将服务器实例还原到备份时的状态。如果该状态不够充分,则可以在完全恢复之后恢复自完全备份以来所做的增量备份,以使服务器处于更新状态。

增量恢复是恢复在给定时间跨度内所做的更改。这也称为时间点恢复,因为它使服务器的状态达到给定时间。时间点恢复基于二进制日志,通常在备份文件完全恢复之后,将备份文件还原到备份时的状态。然后,在二进制日志文件中写入的数据更改将作为增量恢复应用于重做数据修改,并使服务器达到所需的时间点。

  • 表维护
    如果表损坏,数据完整性可能会受到影响。对于 InnoDB表格,这不是典型问题。MyISAM 如果程序检查表并在发现问题时进行修复
  • 备份调度,压缩和加密
    备份计划对于自动化备份过程很有价值。压缩备份输出可减少空间需求,输出加密可提供更好的安全性,防止未经授权访问备份数据。MySQL本身不提供这些功能。MySQL Enterprise Backup产品可以压缩InnoDB备份,并且可以使用文件系统实用程序实现备份输出的压缩或加密。
2.2、数据库备份方法
  • 使用MySQL Enterprise Backup进行热备份
  • 使用mysqldump或mysqlhotcopy进行备份
  • 通过复制表文件进行备份
  • 制作分隔文本文件备份
  • 通过启用二进制日志进行增量备份
  • 使用复制从站进行备份
  • 恢复损坏的表
  • 使用文件系统快照进行备份

MySQL数据类型(DATA Type)与数据恢复与备份方法的更多相关文章

  1. Symfony中Doctrine对应的Mongodb数据类型 data type

    1. hash 就是 json对象 2. collection 就是 数组 3. 若要知道如何使用referenceOne, referenceMany, embbedDocument等 主要查看: ...

  2. MySQL中 Data truncated for column 'xxx'解决方法

    DATA truncated FOR COLUMN 'description' AT ROW 1 1.错误再现 表中存在null字段 此时,修改表中某字段为主键 2.解决方法 不允许数据库中出现nul ...

  3. python——获取数据类型:type()、isinstance()的使用方法:

    python——获取数据类型   在python中,可使用type()和isinstance()内置函数获取数据类型 如: (1)type()的使用方法: >>> a = '230' ...

  4. MySQL数据库(7)_MySQL 数据备份与还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  5. JAVA 1.2(原生数据类型 Primitive Data Type)

    1. Java的数据类型分为2类 >> 原生数据类型(primitive data type) >> 引用数据类型(reference data type) 3. 常量和变量 ...

  6. mysql load data infile的使用 和 SELECT into outfile备份数据库数据

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...

  7. 数据类型(data type)

    基本数据类型(primitive data type):字符型(2个字节),布尔型(一位),byte(1个字节),short(两个字节),int(4个字节),long(8个字节),float(2个字节 ...

  8. mysql data type <----> java data type (数值)

    https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html +----------------------------+---- ...

  9. mysql学习笔记三 —— 数据恢复与备份

    要点: 1.存储引擎2.导入导出3.备份与恢复 查看当前数据库中的所有表use db1:show tables: 1.存储引擎 不同的发动机(引擎)适用的汽车类型不一样. 存储和处理的不同方式.不同的 ...

随机推荐

  1. PAT Basic 1104 数字⿊洞 (20) [数学问题-简单数学]

    题目 给定任⼀个各位数字不完全相同的4位正整数,如果我们先把4个数字按⾮递增排序,再按⾮递减排序,然后⽤第1个数字减第2个数字,将得到⼀个新的数字.⼀直重复这样做,我们很快会停在有"数字⿊洞 ...

  2. Java之线程通信的方法

    /** * 线程通信的例子:使用两个线程打印 1-100.线程1, 线程2 交替打印 * * 涉及到的三个方法: * wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器. * no ...

  3. c#学习笔记06——XML

    XML概述:eXtensible Markup Language,可扩展标记语言.网络应用开发的一项新技术.同HTML一样是一种标记语言,但是数据描述能力要强很多.XML具有描述所有已知未知数据的能力 ...

  4. 第二季第八天 HTML5新特性

    在函数内部window.a =  a  在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...

  5. 关于Linux常用命令的使用

    Linux常用命令 Linux centos常用镜像下载链接:http://mirror.centos.org/centos 一.关于yum 1.下载rpm包并存放至某个路径 命令:#yum inst ...

  6. 理论优美的深度信念网络--Hinton北大最新演讲

    什么是深度信念网络 深度信念网络是第一批成功应用深度架构训练的非卷积模型之一. 在引入深度信念网络之前,研究社区通常认为深度模型太难优化,还不如使用易于优化的浅层ML模型.2006年,Hinton等研 ...

  7. C语言实现整数转字符串

    #include <stdio.h> void intToString(int N,char arr[]){ //仅支持有符号4字节的int类型,范围-2147483648 - 21474 ...

  8. html标签title属性值包括处理

    用js赋给title属性的html实体,<br/>无法解析,导致 也无法解析,应该使用\r\n代替,使用 无法实现换行,因为没有经过浏览器的再解析. str_info.replace(/\ ...

  9. RxJava的简单使用

    0x00 介绍 先简单介绍一下这个库,Rx的一系列实现都是为了解决同一个问题,就是让异步编程变的更加简单.它的主要思想是使用观察者模式,分离了数据源和数据的使用者,同时它拓展了观察者模式,将数据源中的 ...

  10. Linux之seq命令

    作用:seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行控制 语法: [1]  seq [选项]    尾数 [2]  ...