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. Linux操作命令(一)1.ls命令 2.cd命令 3.pwd命令

    1.ls 命令 ls 命令就是 list 的缩写, ls 用来打印出当前目录的清单. 参数 描述 -a –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -l 除了文件名之外,还将文件的权限 ...

  2. 一台电脑连接多个不同IP段

    1.首先让电脑能联网,则在ipv4里面设置好能上网的ip地址,dns则为路由器ip 备用dns8.8.8.8 2.点击高级依次添加其他内网ip段 例如192.168.0.66 ----------19 ...

  3. windows自带xbox game bar如何更改录制视频保存位置

      若要更改保存游戏剪辑的位置,请使用文件资源管理器根据需要将"捕获"文件夹移动到电脑上的任意位置. Windows 会将游戏剪辑和屏幕截图保存在该文件夹中(无论移动到哪里).   ...

  4. C++ MFC学习 (一)

    MFC:微软基础类库,以C++形式封装了WindowsAPI,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.    其中包含的类包含大量Windows句柄封装类和很多Windows的内建控 ...

  5. Java异常之Error和Exception

    异常Exception 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数 ...

  6. WPF ItemsControl Command 绑定操作

    视图模型: using System.Collections.ObjectModel; using System.Diagnostics; using System.Windows.Input; us ...

  7. Oracle 验证身份证号

    --验证身份证号是否正确CREATE OR REPLACE FUNCTION fn_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr ...

  8. .net core格式化响应数据(json驼峰格式)

    //表格字段都是大写的 想要实现首字母小写(特定操作配置输出序列化选项)[HttpPost, ActionName("QueryAll")] public ActionResult ...

  9. win10 系统修复IE11方法

    我也是手贱卸载了IE11,启用或关闭Windows功能里也没有Internet Explorer 11,今天意外发现了解决办法. 设置--应用--应用和功能--管理可选功能--添加功能--Intern ...

  10. OS-lab2

    OS-lab2 启动之后,我们的操作系统要能运行,需要一个载体,就是内存.内存的访问不是直接的,而是通过MMU完成.在完成MMU之前,我们先看看一些需要用到的宏定义和函数. include pmap. ...