将windows命令窗口(cmd)中的目录切换到数据库bin目录下, mysqldump -u 用户名 -p --database 数据库名 > D:/abc.sql (直接回车后会提示输入密码,
上一篇Django 2.1.7 模型 - 使用mysql数据库连接访问讲述了如何使用mysql作为数据库,执行模型查询数据,并返回渲染页面。...在官方文档中,关于字段类型的描述非常多,如下: 模型字段的定义属性 django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列...unique:如果为True, 这个字段在表中必须有唯一值,默认值是False。...models.DateTimeField(auto_now=True) # 数据更新时间 is_delete = models.BooleanField(default=False) # 逻辑删除 添加了模型中的字段类型之后...> select * from assetinfo_scriptinfo; Empty set (0.00 sec) mysql> 可以看到已有数据在迁移的过程我选择了输入当前时间。
前言 大家都知道,现在的开发测试都是讲究多人团队协作完成,每个人都有本地环境,在以前我们一般是手动的添加数据,比如在数据库查询器中使用sql语句进行数据插入。...等同于数据库中的 FLOAT 类型 $table->char(‘n/【关于环境方面,我觉得DOCKER是非常合适和快速部署的一个方式】/ame', 4); 等同于数据库中的 CHAR 类型 $table...->dateTime(‘created_at'); 等同于数据库中的 DATETIME 类型 $table->enum(‘choices', [‘foo','bar']); 等同于数据库中的 ENUM...类型 $table->tinyInteger(‘numbers'); 等同于数据库中的 TINYINT 类型 $table->timestamps(); 添加 created_at 和 updated_at...(); //无符号类型 }); 常用约束 ->first() 将该列置为表中第一个列 (仅适用于 MySQL) ->after(‘column') 将该列置于另一个列之后 (仅适用于 MySQL) ->
一.迁移方法 工具:用mysql yog 步骤: 1.在mysql中选择要迁移到数据库,然后右键-导入-导入外部数据库 image.png 2.启动新的同步会话,下一步 image.png...9.选择要迁移的数据库,更改默认的数据库,下一步,完成,可点击测试数据源测试下连接是否正常 image.png 10.接着3中然后下一步,这里可选择将数据迁移到哪里,如哪个mysql服务器的哪个数据库...**注意:这里要对bit类型和date(datetime)类型进行映射,否则会迁移失败,因为sqlServer中bit类型与mysql中的bit不是同一个类型,mysql中用tinyint类型来表示...boolean类型,而sqlserver中date(datetime)迁移到mysql中会变成timestamp,这是不行的,映射方法如下,如base_Customer表字段映射: image.png...点击map列的方框,工具会默认将date(datetime)变成timestamp,bit类型还是bit类型 image.png 但mysql中的boolean类型不是用bit类型而是用tinyint
最近的一个多月时间其实都在做数据库的迁移工作,我目前在开发的项目其实在上古时代是使用 MySQL 作为主要数据库的,后来由于一些业务上的原因从 MySQL 迁移到了 MongoDB,使用了几个月的时间后...注意:要为每一张表添加类型为字符串的 uuid 字段,同时为 uuid 建立唯一索引,以加快通过 uuid 建立不同数据模型之间关系的速度。...的字段添加相应的 post_uuid 列: ?...在添加 uuid 列并建立好索引之后,我们就可以开始对数据库进行迁移了,如果我们决定在迁移的过程中改变原有数据的主键,那么我们会将迁移分成两个步骤,数据的迁移和关系的重建,前者仅指将 MongoDB 中的所有数据全部迁移到...,那么我们就可以使用下面的迁移文件将数据库中与 uuid 有关的全部列都删除了: ?
根据占用字节数可以求出每一种数据的取值范围,例如TINYINT需要1个字节(8bits)来存储,那么TINYINT无符号数的最大值为2^8-1,即255;TINYINT有符号数的最大值为2^7-1,即127...如何选择数据类型 MySQL提供了大量的数据类型,为了优化存储,提高数据库性能,在任何情况下均应该使用精确的类型。即在所有可以表示该列值的类型中,该类型使用的存储最少。...DECIMAL在MySQL中是以字符串存储的,用于定义货币等对精确度要求较高的数据。DECIMAL在MySQL中是以字符串存储的。...在数据迁移中,float(M,D)是非标准SQL定义,数据库迁移可能会出现问题,最好不要这样使用。另外两个浮点数进行减法和比较运算时也容易出现问题,因此在进行计算的时候,一定要小心。...因此需要插入记录同时插入当前时间时,使用TIMESTAMP是方便的,另外TIMESTAMP在空间上比DATETIME更有效。
1.数据表的设计 MySQL数据库管理系统(DBMS)中,包含的MySQL中定义数据字段的类型对你数据库的优化是非常重要的。...MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 下面以大学熟悉的学生选课管理系统中用到的数据库为例,来设计相应的数据表。主要有三张表:学生表,课程表和选课表。...唯一键可以起到唯一约束的作用,当然主键也可以起到唯一约束的作用。当然我们可以不建立唯一键和主键,直接为指定的数据表的列添加唯一约束。唯一约束保证指定列的值不能重复。...关于四者的理解,上未参考到权威的资料,请读者保持怀疑的态度接受。 2.数据库的建立 在安装完mysql之后,我们要建立自己的数据库。下面将详细地一步一步演示如何创建上面设计好的数据库。...实际上tinyint(1)是可以插入-128到127之间的其它数值。因为mysql数据库中以 :数据类型(m)来定义数据类型,其中 数字m在不同的数据类型中表示含义是不同的。
# MySQL-简介 学习视频地址 (opens new window) 数据库三层结构 数据在数据库中的存储方式 SQL语句分类 创建数据库 查看、删除数据库 备份恢复数据库 创建表 Mysql...常用数据类型(列类型) 数值型(整数)的基本使用 整型如何定义一个无符号的整数 数值型(bit)的使用 数值型(小数)的基本使用 字符串的基本使用 字符串使用细节 日期类型的基本使用 创建表练习 修改表...# 查看当前数据库服务器中的所有数据库 SHOW DATABASES #查看前面创建的frx_db01数据库的定义信息 SHOW CREATE DATABASE frx_db01 #说明 在创建数据库...image列,varchar类型(要求在resume后面)....员工表emp的上增加一个image列,varchar类型(要求在resume后面) ALTER TABLE emp ADD image VARCHAR(32) NOT NULL DEFAULT '
2.空属性 两个值:null(默认的)和not null(不为空) 数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不为空,因为数据为空没办法参与运算。...站在正常的业务逻辑中: 如果班级没有名字,你不知道你在哪个班级 如果教室名字可以为空,就不知道在哪上课 所以我们在设计数据库表的时候,一定要在表中进行限制,满足上面条件的数据就不能插入到表中。...通常,CHANGE子句用于在修改列的数据类型或其他属性时同时更改列名。如果您只想更改列的数据类型或属性而不更改列名,就像您的示例中所做的那样,您需要重复列名。...这里是一个简化的解释: ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型及属性; 但在您的例子中,旧列名和新列名都是a,所以看起来就有两个a。...要注意的是,这只是最后显示的结果,在MySQL中实际存储的还是1。 所以zerofill仅影响显示。
超出这个范围的数据将 无法插入 在MySQL中,整型可以指定为有符号或无符号,默认是有符号 的。可以通过 UNSIGNED 关键字指定字段为无符号类型。...MySQL 是提示的 21844 utf8 MySQL的 utf8 不是真正的 UTF-8 编码 在 utf8 编码中,varchar(n) 的参数n最大值为 21844 MySQL在存储字符类型的时候...所以不插入的时候在表示会显示 null 3.3 列描述(comment) comment:用于给列添加注释说明,便于程序员和数据库管理员理解字段用途。 该属性不会对数据插入产生约束效果。...索引定义: 物理存储结构:在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构。...唯一键:更多地用于业务逻辑上的唯一性约束,允许字段为空,并且多个空值不会影响唯一性比 示例场景:在员工管理系统中,身份证号码可以作为主键,确保员工的唯一标识;员工工号可以设置为唯一键,确保工号在公司业务上不会重复
---- 设计符合 2NF 的表 以订单信息表为例,讲述如何设计一个符合 2NF 的表 首先,我们看原始的订单信息表,如下图所示 ?...主要的优点如下 允许适当的数据冗余,业务场景中需要的数据几乎都可以在一张表上显示,避免关联 可以设计有效的索引 ---- 范式 VS 反范式 范式化模型: 数据没有冗余,更新容易 当表的数量比较多...这些字段类型,在 MySQL 数据库的检索性能不高,很难使用索引进行优化。如果必须使用这些功能,一般采取特殊的结构设计,或者与程序结合使用其他的字段类型替代。...单表字段数上限控制在 20~50 个 【禁用 ENUM、SET 类型】 兼容性不好,性能差。 解决方案:使用 TINYINT,在 COMMENT 信息中标明被枚举的含义。...解决方案:在列上添加 NOT NULL DEFAULT 缺省值 ---- 【禁止 VARBINARY、BLOB 存储图片、文件等】 禁止在数据库中存储大文件,例如照片,可以将大文件存储在对象存储系统中,
,业务上可规定时间段判断是否为最新 最热属性即可以学习人数字段排序来反映 课程方向表 课程方向名称(PK) : 在课程表中有对应的方向字段 添加时间 课程分类表 分类名称(PK) : 在课程表中有对应的方向字段...,如果 ENUM 里面是字符串,对于其他数据库来说就更郁闷了,还不能设为tinyint等类型的字段 23.2.2 ENUM 的索引 纯数字类型的不建议用枚举类型,这是因为在 ENUM 内部维护有一个隐形的索引...问答评论表 24.8 笔记表 24.9 用户选课表 30 如何为表和列选择合适的名字 所有数据库对像名称必须使用小写字母可选用下划线分割 所有数据库对像名称定义禁止使用MySQL保留关建字 数据库对像的命名要能做到见名识义...,并且最好不要超过32个字 临时库表必须以tmp为前缀并以日期为后缀 用于备份的库,表必须以bak为前缀并以日期为后缀 所有存储相同数据的列名和列类型必须一致。...内容综述 数据库的逻辑设计规范 MySQL的常用存储引擎及其选择方法 MySQL的常用数据类型及其选择方法 如何为表选择适合的存储类型 如何为表起一个好名 参考 数据库设计 MySQL慎用 ENUM
工具安装 DataX的安装可以参照 github。 数据准备 Mysql创建表 在mysql的数据库db1中创建test1表。...中创建与Mysql结构一致的表,当然GP中的表可以与Mysql中不一致,在进行导入作业时,可以通过参数设置那些列需要被导入,参考参数解释。...2.2 connection中的为jdbcUrl为连接数据库时的Url,各数据源的连接url有细微区别,具体可参考: mysql:http://dev.mysql.com/doc/connector-j...另外,splitPk只能选取数据类型为整形或者字符串类型的列,其他类型会报错。...条件过滤 结构过滤 通常情况下,源端数据源的表结构与目标数据源的表结构,如例子中的mysql与GP中数据迁移前后的表列数与类型完全一致,但是在某些情况下,迁移前后的结构是不一致的,通常表现后目标数据库中的表中只保留源端数据库表中的某几列
垂直分表垂直分表,整体策略就是大表拆小表,基于表中字段拆分,将不常用的,数据较大的拆分到扩展表,一般针对几百列的大表进行拆分。...特点:每个库/表的结构都不一样每个库/表的数据至少一列一样每个库/表的并集是全量数据垂直拆分:优点:拆分后业务清晰,数据维护简单,按照业务放到不同的服务器中。...当添加新节点时,在普通取模算法中会影响到其他数据,而在一致性Hash算法中,首先会停止服务,防止数据乱掉,先把属于新增节点D的数据迁移到D节点中,然后添加节点,放入环中,启动服务。...当移除节点时,首先停止服务,把D节点移除之后,根据顺时针原则,把属于D节点的数据迁移在节点A上,把D节点服务移除,启动服务,整个节点受到影响的只有D节点的数据,不会影响其他的服务节点。...ShardingSphere:Jdbc直连,相当于增强JDBC包,对所有的数据库操作语句按照特定的要求分发到不同的库中,这部分操作在jdbc中直接完成了。
扩展性较差 禁止在数据库中存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库中存储路径 禁止在线上环境做数据库压力测试 测试,开发,线上数据库环境必须隔离 二、命名规范 库名,表名,列名必须用小写...建议将大字段,访问频度低的字段拆分到单独的表中存储,分离冷热数据 解读:具体参加《如何实施数据库垂直拆分》 四、列设计规范 根据业务区分使用tinyint/int/bigint,分别会占用1/4/8字节...NULL并设默认值 解读: (1)NULL的列使用索引,索引统计,值都更加复杂,MySQL更难优化 (2)NULL需要更多的存储空间 (3)NULL只能采用IS NULL或者IS NOT NULL,而在...:如果5个字段还不能极大缩小row范围,八成是设计有问题 不建议在频繁更新的字段上建立索引 非必要不要进行JOIN查询,如果要进行JOIN查询,被JOIN的字段必须类型相同,并建立索引 解读:踩过因为JOIN...,能保证对应用程序无影响 隐式类型转换会使索引失效,导致全表扫描 禁止在where条件列使用函数或者表达式 解读:导致不能命中索引,全表扫描 禁止负向查询以及%开头的模糊查询 解读:导致不能命中索引,全表扫描
=true 具体可参见DataX指导 数据准备 Mysql创建表 在mysql的数据库db1中创建test1表。...中创建与Mysql结构一致的表,当然GP中的表可以与Mysql中不一致,在进行导入作业时,可以通过参数设置那些列需要被导入,参考参数解释。...name等价于job.content.reader.name name表示插件的类型,在我们的例子中设置为mysqlreader,表示源端数据源类型为mysql。...另外,splitPk只能选取数据类型为整形或者字符串类型的列,其他类型会报错。...条件过滤 结构过滤 通常情况下,源端数据源的表结构与目标数据源的表结构,如例子中的mysql与GP中数据迁移前后的表列数与类型完全一致,但是在某些情况下,迁移前后的结构是不一致的,通常表现后目标数据库中的表中只保留源端数据库表中的某几列
,在入口文件中添加注册蓝图的方法,实现引入和注册。...SECRET_KEY = '需要加密的key值' SQLAlchemy实现mysql编码、列类型 在SQLAlchemy 对Mysql实现了基本操作以后,我发现设置出来的默认值没有生效,字符集编码也被设置成了默认的...latin1,优化Mysql的列类型,实现Mysql连接池、接入mongo、redis等NoSql数据库成了下一步要研究的问题。...index是设置索引,nullable设置是否为空,comment设置的是备注信息。 兼容Mysql列类型 但是摆在眼前一个问题,你想使用tinyint类型,字符集怎么设置?..._general_ci' } TINYINT类型中有三个参数: display_width 设置的是列类型宽度,设置完以后会显示tinyint(1),第二个unsigned 是否是取正值的取值范围
0、前言 原项目框架 SpringBoot + MybatisPlus + Mysql 1、切换流程 1.1、项目引入postgresql驱动包 由于我们要连接新的数据库,理所当然的要引入该数据库的驱动包...,同一事务中如果某次数据库操作中出错的话,那这个事务以后的数据库操作都会出错。...这时候解决办法一般有两种 手动修改代码里的字段类型和传参类型保证 或者 postgreSQL表字段类型,反正保证双方一一对应 添加自动隐式转换函数,达到类似mysql的效果 布尔值和int类型类型转换错误...迁移postgres 要注意字段类型要对应不要变更(*) 2、原先是 tinyint的就变samllint类型,不要是bool类型,有时代码字段类型可能对应不上 3、如果java字段是LocalDateTime...原先mysql时间类型到postgres后不要用TIMESTAMPTZ类型 4、mysql一般用tinyint类型和java的Boolean字段对应并且在查询和更新时支持自动转换,但是postgres是强类型不支持
下表列出了MySQL中的数值类型。...根据占用字节数可以求出每一种数据的取值范围,例如TINYINT需要1个字节(8bits)来存储,那么TINYINT无符号数的最大值为2^8-1,即255;TINYINT有符号数的最大值为2^7-1,即127...,在此L<2^24 LONGBLOB(M) 非常大的BLOB L+4字节,在此L<2^32 如何选择数据类型 MySQL提供了大量的数据类型,为了优化存储,提高数据库性能,在任何情况下均应该使用精确的类型...DECIMAL在MySQL中是以字符串存储的,用于定义货币等对精确度要求较高的数据。DECIMAL在MySQL中是以字符串存储的。...在数据迁移中,float(M,D)是非标准SQL定义,数据库迁移可能会出现问题,最好不要这样使用。另外两个浮点数进行减法和比较运算时也容易出现问题,因此在进行计算的时候,一定要小心。
领取专属 10元无门槛券
手把手带您无忧上云