Mysql 如何在指定行插入数据? 20

比如我有一个数据表Table1aaa2bbb3ccc4eee我想在3和4中间插入数据ddd:1aaa2bbb3ccc4ddd5eee应该如何操作?... 比如我有一个数据表Table
1 aaa
2 bbb
3 ccc
4 eee
我想在3和4中间插入数据ddd:
1 aaa
2 bbb
3 ccc
4 ddd
5 eee

应该如何操作?
展开
 我来答
大小2便
2013-01-10 · TA获得超过160个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:111万
展开全部
可以先将id>=4的id全部加1,再插入:
update Table set id=id+1 where id>=4
insert into Table values(4,'ddd')
说实话这个真没什么必要
dgtianhua
2013-01-10 · 超过16用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:25.7万
展开全部
我从事多年的数据库,还第一次听到有你这样的需求。
数据表里面是无序的,通过条件排序而获得的顺序,你要通过其他方法来实行你的需求而不是直接在第几行插入记录。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b68195
2013-01-10 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1726万
展开全部
在数据库表中是无法插入到中间的,但可以通过排序实现你的要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱可生云数据库
2021-02-23 · MySQL开源数据库领先者
爱可生云数据库
爱可生,金融级开源数据库和数据云服务整体解决方案提供商;优秀的开源数据库技术,企业级数据处理技术整体解决方案提供商;私有云数据库云服务市场整体解决方案提供商。
向TA提问
展开全部

import_table(importTable) 的延申功能:可定制化行输入。

import_table(importTable) 我们之前有介绍过,是一款并行导入各种格式文本的工具,封装了 MySQL 语句 load data local infile。

比如说要导入一个以 TAB 为分隔符的文本数据文件:/tmp/sample_ytt.txt 到表:ytt_new.t1,可以执行下面语句:

上面结果是 load data infile 语句的导入结果。如果改用 import_table 方法来做同样的事情,基于 Python 语法,使用方法如下:

那接下来看另外一个需求:在导入文本文件时对每行做预处理(例如在导入数据之前更改列 r2 的值为 mod(r1,10),列 r5 的值为 abs(r4-46) ),这样可以减少导入后再次处理的时间开销。

这个需求用 load data infile 语句非常容易实现:(导入时更改列 r2 和 r5 的数据,类似 UPDATE 语法)

那如果要用 util.import_table(importTable) 来实现上面的需求,在 MySQL 8.0.22 之前是没办法的。

随着 MySQL 8.0.22 的发布,MySQL 对 import_table 方法做了些扩充功能,其中增加了一个选项 “decodeColumns” 可以实现字段的预先输入定制化功能,并且还可以更加丰富。

接下来用 import_table 来实现上面的需求,定制化字段 r2 和 r5:

以上 Options 选项,见下图:

我来具体解释下上图的含义:蓝色字体 columns 对应的数组分别指定数据文件中的每行字段,也就是默认的 TAB 分隔符所分割的每列值,1 和 2 代表占位符,1 代表数据文件中每行的第一个列,2 代表数据文件中每行的第四列,decodeColumns 字典分别对需要预先输入的字段做处理。比如 r1 字段保留为变量 @1,r2 字段对应 mod(r1,10) 等。

如果还是不太理解变换规则,可以临时打开 general log, 上面 import_table(importTable)对应的 MySQL 日志为:

以上日志写的很清楚,内部转换为最基本的load data infile语法。

那这里我简单解读了下 MySQL 8.0.22 对 MySQL Shell 的一项定制化输入文本文件的新特性,更多的新特性可以继续关注。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式