数据库学习之MySQL (二十四)—— DDL(二)数据类型浮点型与定点型 时间戳与datetime

前言 ´・ᴗ・`

  • 本篇内容将会帮助你学习几乎所有数据库用到的数据类型 并告诉你哪些常用 哪些看看就好

几个基本数据类型

注意varchar(5) 指的是5个字符 不是字节!!事实上一般都是字符 字节也只有我们之前的LENGTH()函数(这么反人类

代码解释
int整形
double float浮点型
char固定长度的字符串
varchar可变长度的字符串
text较长的字符串
date日期
time时间
timestamp时间戳

我们归纳一下…

  • 字符串型
    • 短字符串
      • 可变 varchar(n)
        n: 1~65535
        节省空间
        CPU性能耗损大(要计算)
        适合字符体积变化很大的场合
      • 固定 char(n)
        n:1~255
        节约CPU性能
        空间浪费
        适合固定长度的场合
    • 长字符串
      • blob 音频 图片 视频
      • text 长字段(博文比如)
  • 数值型
    • 整数 INT
    • 小数
      • 浮点数 double
      • 定点数 decimal
        用于精确度稳定的场合 比如钱
  • 日期型
    • 时间戳 timestamp
      受时区影响
    • 时间 datetime
      不受时区影响
    • date 日期
    • time 具体时间时分秒
  • 枚举型 ENUM

时间戳 vs datetime

我们可以创一个表格 一列是时间戳 一个是datetime

CREATE TABLE table1(
	t1 DATETIME,
	t2 TIMESTAMP
);

然后 INSERT INTO table1 VALUES(NOW(),NOW());
table1 就是那刚刚创立的表格

然后 我们利用SET time_zone='+10:00'
更改我们的时区为东10区
我们是东八区 不信的话你就:

SHOW VARIABLES LIKE 'time_zone';

枚举型 ENUM

ENUM enumerate
我们可以限定数据 比如限定有线的情况 性别 男 女:

CREATE TABLE table1(c1 ENUM('男','女'))

整形

其实常用的就是INT(n) n指的是字符 n位数也就是
下面是其他整形类型的大小:
如果insert的数据超过这个范围 就是报out of range 错误

名称字节数最大范围
Tinyint12^8
Smallint22^8*2
Mediumint32^8*3
Int/integar42^8*4
Bigint82^8*8

另外提一下两个关键字:

  • UNSIGNED 就是无符号 一般默认是有符号的
    无符号 就是数据大小拓展一倍(原来两倍)
    为啥是两倍?没有符号位嘛

  • ZEROFILL 也就是 filled with zeros 让0填充空位 比如123 -> 00000123 当INT(8)

浮点数 定点数

浮点数 顾名思义 小数点浮动的数值 比如从123.4 -> 123.400 然而定点数就只能是123.4 你加上0.01 还是123.4
这就是钱 特别适合定点数——都是000.00的形式 小数位数固定

详细来说 涉及 计算机组成原理 操作系统

计算机中的数除了整数之外,还有小数。如何确定小数点的位置呢?通常有两种方法:
一种是规定小数点位置固定不变,称为定点数。
另一种是小数点的位置不固定,可以浮动,称为浮点数。

  • 通常用定点数来表示整数和纯小数,分别称为定点整数和定点小数
  • 对于既有整数部分、又有小数部分的数,一般用浮点数表示。
    为啥?方便计算啊
    能用定点数 当然定点CPU计算更少
    不能用定点 那就出大招——浮点运算

定点数运算:
如果同样的小数点位置 直接相加就好了
但是不同小数点位置呢?
浮点数计算可以解决 定点数计算 记录小数点位置的大问题

所以一般 我们实际使用 就用定点纯小数 定点整数 运算方便
不是纯小数或者整数的 就浮点解决

总结 ´◡`

这一节在上一节的基础上 深入讲了讲数据类型 其实用的时候看一下就行 不需要记忆 只需要记住常用的:)
下一站我们来学习另一种修饰列属性的方法——约束
下一站:数据库学习之MySQL (二十五)—— DDL(三)约束 - 列级约束 表级约束 语法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 达梦数据库MySQL数据库可以使用如下方法进行增量同步: 1. 使用数据库内置的复制功能:达梦数据库提供了多种复制方式,包括基于SQL语句的复制、基于数据文件的复制、基于日志文件的复制等。这些复制方式可以在不停机的情况下进行数据库的增量同步。 2. 使用第三方的数据库同步工具:市面上有很多专门用于数据库增量同步的工具,如Navicat、Ora2pg等,这些工具可以跨越不同数据库之间进行数据库同步。 3. 使用编程语言进行数据库同步:可以使用编程语言,如Java、Python等,通过数据库的API来实现数据库的增量同步。 无论使用哪种方式,都需要确保数据的一致性,在同步过程中应避免数据的丢失或冲突。 ### 回答2: 达梦数据库MySQL数据库可以通过使用数据同步工具来实现增量同步。 首先,需要安装并配置好数据同步工具。常用的数据同步工具有Maxwell、Canal等。这些工具可以监听MySQL数据库的binlog,并实时将变更数据写入到达梦数据库中。 其次,需要在达梦数据库中创建与MySQL数据库相同的表结构。可以通过使用DDL语句在达梦数据库中创建表,并保持和MySQL数据库中表的结构一致。 然后,需要配置数据同步工具的参数,确保工具能够正确地连接到MySQL数据库和达梦数据库。配置参数包括MySQL和达梦数据库的连接地址、用户名、密码等。 最后,启动数据同步工具,它会监听MySQL数据库的binlog,并将变更数据实时写入到达梦数据库中。当MySQL数据库中有数据变更时,数据同步工具会自动将变更同步到达梦数据库中,实现增量同步的功能。 在实际应用中,可以根据需求设置同步的粒度和同步的频率。可以选择全量同步和增量同步的方式,以及定时或实时同步的频率,以满足具体业务需求。 需要注意的是,在进行数据同步前,需要确保达梦数据库中没有与MySQL数据库冲突的数据。此外,在数据同步过程中,需要保证源数据库和目标数据库的一致性,以避免数据不一致的问题。 总之,通过以上步骤和配置,就可以实现达梦数据库MySQL数据库的增量同步。 ### 回答3: 达梦数据库MySQL数据库之间的增量同步可以通过数据复制的方式实现。以下是一个基本的步骤: 1. 配置MySQL数据库:首先,在MySQL数据库中创建一个具有复制权限的用户,并分配适当的权限。添加以下参数到MySQL配置文件(my.cnf)中,启用进制日志记录: ``` log-bin=mysql-bin binlog-format=ROW server-id=1 ``` 2. 配置达梦数据库:在达梦数据库的配置文件(dm.ini)中启用增量日志功能,并指定需要同步的表: ``` [INCREMENTAL LOG] ENABLED=TRUE TABLES=table1, table2, ... ``` 3. 安装数据同步工具:下载并安装MySQL到达梦数据库的数据同步工具,如Data Sync工具。 4. 配置数据同步工具:在数据同步工具中,设置源数据库MySQL,目标数据库为达梦数据库。指定需要同步的表和字段映射关系,并启用增量同步选项。 5. 初始化同步:使用数据同步工具执行初始同步操作,将MySQL数据库中的数据复制到达梦数据库。 6. 启动增量同步:在数据同步工具中启动增量同步功能。这将监视MySQL数据库进制日志并捕捉变更,然后将其应用到达梦数据库中。 需要注意的是,达梦数据库MySQL数据库之间的增量同步可能会面临一些挑战,例如数据类型转换、主键冲突等问题。确保在同步过程中进行适当的数据验证和测试,并根据具体情况调整配置和映射关系,以确保数据的准确性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值