mysql将所有数据库的表的相同字段更新为某一值

1、创建存储过程
函数名为:proc_update_client_id
CREATE PROCEDURE `proc_update_client_id`( )
BEGIN
-- 定于全局变量tableName,就是循环时的表名
DECLARE tableName VARCHAR (200);
-- 定义全局变量sql,就是每次循环执行的sql语句
DECLARE sqls VARCHAR ( 200 );
-- 定于全局变量done,默认为false,如果循环完毕,值变为true
DECLARE done INT DEFAULT FALSE;
-- 定于全局变量,要更新的值
DECLARE clientId VARCHAR(200); -- 声明游标,游标对应的结果集为查询出的所有符合条件的表名,
-- 下面的select语句为查询表名,其中的TABLE_SCHEMA就是数据库名
DECLARE cursor_name CURSOR FOR
SELECT
CONCAT(tab.TABLE_SCHEMA,'.',col.table_name)
FROM
information_schema.TABLES tab
LEFT JOIN information_schema.COLUMNS col ON col.table_name = tab.table_name
WHERE
table_type = 'BASE TABLE'
AND col.column_name = 'client_id';
-- 当循环结束后,就把全局变量done设置为true
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 设置更新的值
SET clientId = 'bankdev';
-- 打开游标
OPEN cursor_name;
my_loop:LOOP

-- 游标当前指向的一条数据赋值给tableName
FETCH cursor_name INTO tableName;
-- 修改表的数据的sql
SET sqls = CONCAT( ' update ', tableName, ' set client_id = "',clientId,'"');
-- 把要执行的sql语句赋值给@a变量
SET @a = sqls;
-- 预处理语句
PREPARE stmt1 FROM @a;
-- 执行预处理语句
EXECUTE stmt1;
-- 删除预处理语句
DEALLOCATE PREPARE stmt1;
-- 每次检查done变量,如果为true,就跳出循环
IF done THEN LEAVE my_loop;
END IF;
-- 结束循环
END LOOP;
-- 关闭游标
CLOSE cursor_name;
END

 2、执行存储过程 

call proc_update_client_id()

3、删除存储过程
drop procedure proc_update_client_id;

  

修改mysql多个表的相同字段为同一值内容的更多相关文章

  1. mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it"

    mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it" 现 ...

  2. MySQL为数据表的指定字段插入数据

    username not null 没有默认值/有默认值   insert不插入username字段 均不报错 2014年07月23日21:05    百科369 MySQL为数据表的指定字段插入数据 ...

  3. MySQL获取Schema表名和字段信息

    MySQL获取Schema表名和字段信息 获取表名 select TABLE_NAME,TABLE_TYPE,ENGINE,TABLE_ROWS,TABLE_COMMENT,CREATE_TIME,U ...

  4. mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子

    mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子: mysql update set 多个字段相加,如果是数字相加可以直接用+号(注:hund ...

  5. mysql修改表中某个字段的默认值

    Mysql中用SQL增加.删除字段,修改字段名.字段类型.注释,调整字段顺序总结   在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改 ...

  6. mysql数据库之表操作及字段约束条件

    目录 一.存储引擎 二.表介绍 三.创建表 四.查看表结构 五.数据类型 一.介绍 二.数值类型 整数类型 浮点型 三.字符串类型 四.日期类型 五.枚举类型与集合类型 六.约束条件 七.修改表 al ...

  7. mysql,user表中各字段的含义

    1.查询user表 select * from mysql.user 2.修改用户密码 ALTER user ' 3.user表中各字段的含义 Select_priv:用户可以通过SELECT命令选择 ...

  8. MySQL向数据库表的某字段追加数据

    使用CONCAT()函数 mysql向表中某字段后追加一段字符串(field为字段名): update table_name set field=CONCAT(field,'str',) mysql ...

  9. MySQL slow_log日志表出现非法字段值

    背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引. 想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索 ...

  10. Mysql查询数据库表结构以及字段类型并展示

    1.建表语句sys_user CREATE TABLE `sys_user` ( `id` varchar(32) NOT NULL COMMENT '编号', `dept_id` varchar(3 ...

随机推荐

  1. 【2】java之object类

    一.Object 类的基本定义 ​ Object 类是所有类的父类,最大的一个好处就是:利用 Object 类可以接收所有类的对象(向上自动转型).如果不确定参数类型,使用 Object 类型是最好的 ...

  2. JOI 公園 (JOI Park)

    原题链接:AT2434 JOI 公園 (JOI Park) 写完之后看到题解区的三分吓了一跳 分析与解答 由于最终答案与边权有关,所以不妨考虑判断一条边是否会对答案有贡献. 记 \(dis\) 表示以 ...

  3. 周练6(python脚本)

    ------------恢复内容开始------------ 1.bugku-好像需要密码 POST /?yes HTTP/1.1 Host: 114.67.175.224:11711 User-Ag ...

  4. grafana嵌入iframe,去除菜单和上方工具条

    1.首先修改grafana的配置:etc/grafana/grafana.ini,修改下面这两个配置为true 2.由于项目使用了nginx,要启用https,需要修改下面这几个配置:(不需要启用ht ...

  5. python 获取docker容器内存使用率

    # -*- encoding: utf-8 -*- from subprocess import Popen, PIPE, STDOUTimport time def Run_Cmd(cmd): # ...

  6. SAP BW/4HANA学习笔记1

    1.Master Data BW/4HANA BW/4HANA简介 BW/4HANA的前身是SAP BW(Business Warehouse),本质是一种数据仓库解决方案. 数据仓库解决方案: 1. ...

  7. RabbitMQ-00-Windows10安装RabbitMQ及安装使用过程中遇到的一些问题

    Window系统安装教程 安装参考博客:https://blog.csdn.net/spl545056/article/details/81392015 重装RabbitMQ时遇到的问题 安装提示成功 ...

  8. django的模版

    django的模版 1模版语法  views.py 书写方式 def index(request): ''' 模版语法分: 变量: {{ }} 1. 深度查询 句点符 2. 过滤器 {{val|fil ...

  9. Burp学院-信息泄露

    1.Information disclosure in error messages错误消息中的信息泄露 GET /product?productId=1 发送到Repeater. 修改product ...

  10. Unity 保存截图功能

    1.下面是实现代码 using System.Collections; using System.Collections.Generic; using UnityEditor; using Unity ...