本文主要是介绍mysql给所有数据库表加字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引用:https://blog.csdn.net/qq_36984221/article/details/128958691
# 查找数据的表
select * from information_schema.TABLES
# 查找数据库的字段
select * from information_schema.COLUMNS
table_schema
: 数据库名字
table_name
: 表的名字
column_name
: 列的名字
drop procedure if exists addColumn;
delimiter $$
create procedure addColumn() begin-- 声明变量declare s_tablename varchar(100);declare s_columnname varchar(100);-- 查找数据库表的游标declare cur_table_structure cursor for select table_name from information_schema.TABLESwhere TABLE_SCHEMA='sleeve';-- 02000表示 no data,,在游标迭代的时候,,没有数据的时候declare continue handler for sqlstate '02000' set s_tablename = null;open cur_table_structure;fetch cur_table_structure into s_tablename;-- 遍历表while (s_tablename is not null) doset s_columnname = null;-- 查找有is_deleted的列select COLUMN_NAME into s_columnname from information_schema.COLUMNS where TABLE_NAME=s_tablename and COLUMN_NAME='is_deleted' limit 1;-- 没有的设置is_deletedif s_columnname is null thenset @myQuery = concat('alter table `',s_tablename,'` add column is_deleted tinyint default 0 ');-- 将@myQuery中sql查询字符串编译成可执行的sql语句prepare MSQL from @myQuery;-- 执行动态sqlexecute MSQL;end if;-- 获取下一个游标值fetch cur_table_structure into s_tablename;end while;close cur_table_structure;
end;
$$call addColumn();
这篇关于mysql给所有数据库表加字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!