如何对调MySQL字段中的某些列

问题:表 t 有个字段叫做 c,现在想要把 c 里面的第 10 和 第 11 列位置对调一下,咋办啊?

答案:用下面的办法吧,不过本例只对ascii字符有作用,中文或其他的就另外想办法。

mysql>set @pos1 = 10;
mysql>set @pos2 = 11;
mysql>UPDATE t SET c = CONCAT(
LEFT(c,@pos1-1), -- 第 10 列以前的值
SUBSTR(c,@pos2,1), -- 第 11 列的值
SUBSTR(c,@pos1+1,@pos2-@pos1-1), -- 第 10 到第 11 列之间的值
SUBSTR(c,@pos1,1), -- 第 10 列
RIGHT(c, LENGTH(c) - @pos2)); -- 第 11 列之后的值

其实很简单的吧 :)

时间: 2024-09-17 04:18:22

如何对调MySQL字段中的某些列的相关文章

在MySQL字段中使用逗号分隔符的方法分享_Mysql

被分割的字段一定是有限而且数量较少的,我们不可能在一个字符串中存储无限多个字符 这个字段所属的表与这个字段关联的表,一定是一对多的关系 比如下面这个表结构所代表的content与tag这两个对象 复制代码 代码如下: mysql> SELECT * FROM content; +----+------+| id | tags | +----+------+| 1 | 1,2 | | 2 | 2,3 | +----+------+ 2 rows in set (0.01 sec) mysql>

java-mysql表中改变一列数据的编号怎么让同编号的一行数据跟着变化?

问题描述 mysql表中改变一列数据的编号怎么让同编号的一行数据跟着变化? mysql表中改变一列数据的编号怎么让同编号的一行数据跟着变化?就是例如每个时间对应一行数据 我把时间列的顺序改变后 每个时间对应的数据还是不变 解决方案 用修改触发器实现

MySQL存储过程中使用动态行转列_Mysql

本文介绍的实例成功的实现了动态行转列.下面我以一个简单的数据库为例子,说明一下. 数据表结构 这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩 三张表:学生表.课程表.成绩表 学生表就简单一点,学生学号.学生姓名两个字段 CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHAR(20) NOT NULL COMMENT '学生姓名', PRIMARY KEY (`s

mysql查询字段中带空格的值的sql语句

  (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace  代码如下     update `news` set `content`=replace(`content`,' ','');//清除news表中content字段中的空格 这样就可以直接用like查询了. (2)mysql trim 函数 语法:trim([{BOTH | LEADING | TRAILING} [r

mysql数据库中字段都是被加密了怎么查看

问题描述 mysql数据库中字段都是被加密了怎么查看 唉 新手实习生.. 有个项目数据库中的很多字段都是是sfsaf-dfasfdadfasf-fasdfas类似这种,不知道该怎么查询数据内容? 解决方案 这你要问你boss,是用什么加密的

MySQL注入中导出字段内容的研究通过注入导出WebShell_安全教程

最大的局限就在这里--插入数据,所以我们只能从程序现有的功能入手,其实很多程序都可以提交评论.留言.帖子等,就看程序是怎么把变量插入数据库的.其实道路就在我们身边,靠我们自己去开辟. 不用多说,先看在本地测试的一个简单例子,建立一个表,结构如下: CREATE TABLE `article` ( `articleid` INT NOT NULL AUTO_INCREMENT , `title` VARCHAR( 200 ) NOT NULL , `content` TEXT NOT NULL ,

mysql replace 批量替换字段中的值例子

命令 UPDATE 表名 SET 指定字段 = replace(指定字段, '要替换的字符串', '想要的字符串') WHERE 条件; 例子  代码如下 复制代码 UPDATE article SET content = replace(content, '解决', '解放') WHERE ID<5000; 例子 项目中有可能会遇到批量替换字段中的值,如下需求: 把上图中img_path字段中的upload全部替换成uploads,这个时候mysql的replace函数就很有用了.   sql

mysql 数据库-mysql中表中列类型是枚举类型不能参与运算吗?

问题描述 mysql中表中列类型是枚举类型不能参与运算吗? 表结构: +------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------------+------+-----+---------+-------+ | sporter_id | char(4) | YES |

在mysql数据库中关于日期时间字段的处理

在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如下 select * from cms_news where  news_add_time between str_to_date("2013-08-15 00:00:00",'%Y-%m-%d %H:%i:%s') and str_to_date("2013-08-16 23: