# 查找在那个表并生成 字段名 SQL

SELECT TABLE_SCHEMA, TABLE_NAME, concat(TABLE_SCHEMA, '.', TABLE_NAME) AS st,

concat('SELECT ', group_concat(COLUMN_NAME ORDER BY ORDINAL_POSITION SEPARATOR ', ' ),

' FROM ' , concat(TABLE_SCHEMA, '.', TABLE_NAME) , ';') AS SQLstr

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME like 'job_depend' GROUP BY TABLE_SCHEMA, TABLE_NAME ORDER BY length(TABLE_SCHEMA);

# 查找多个字段在哪个表 并生成 字段名 SQL

SELECT TABLE_SCHEMA, TABLE_NAME, concat(TABLE_SCHEMA, '.', TABLE_NAME) AS st,

concat('SELECT ', group_concat(COLUMN_NAME ORDER BY ORDINAL_POSITION SEPARATOR ', ' ),

' FROM ' , concat(TABLE_SCHEMA, '.', TABLE_NAME) , ';') AS SQLstr

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME in ('job_depend','job_id') GROUP BY TABLE_SCHEMA, TABLE_NAME

HAVING count(TABLE_NAME)>=2 ORDER BY length(TABLE_SCHEMA);

# #{驼峰字段} (创建存储函数snakeToCamel后使用)

SELECT TABLE_SCHEMA, TABLE_NAME,

snakeToCamel(group_concat(concat('#{',COLUMN_NAME,'}')

ORDER BY ORDINAL_POSITION SEPARATOR ', ')) AS COLUMN_NAMES

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME like 'job_depend' GROUP BY TABLE_SCHEMA, TABLE_NAME;

# 字段名=#{驼峰字段} SQL (创建存储函数snakeToCamel后使用)

SELECT TABLE_SCHEMA, TABLE_NAME, concat('UPDATE ', TABLE_NAME, ' SET\n',

group_concat(concat(' ', COLUMN_NAME,' = #{',snakeToCamel(COLUMN_NAME),'}')

ORDER BY ORDINAL_POSITION SEPARATOR ',\n')

, '\nWHERE col=val;')AS SQLStr

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME like 'job_depend' GROUP BY TABLE_SCHEMA, TABLE_NAME;

# 打开 MySQL8 默认关闭的创建存储函数开关

SET GLOBAL log_bin_trust_function_creators = 1;

# 若存储过程存在则删除

DROP FUNCTION IF EXISTS snakeToCamel;

# 重定义分隔符,兼容 DataGrip 以外的程序

DELIMITER $

# 创建一个存储函数

CREATE FUNCTION snakeToCamel(snakeString VARCHAR(16383))

# 返回值类型

RETURNS VARCHAR(16383)

# 开始内容

BEGIN

set snakeString = replace(snakeString, '_a', 'A');

set snakeString = replace(snakeString, '_b', 'B');

set snakeString = replace(snakeString, '_c', 'C');

set snakeString = replace(snakeString, '_d', 'D');

set snakeString = replace(snakeString, '_e', 'E');

set snakeString = replace(snakeString, '_f', 'F');

set snakeString = replace(snakeString, '_g', 'G');

set snakeString = replace(snakeString, '_h', 'H');

set snakeString = replace(snakeString, '_i', 'I');

set snakeString = replace(snakeString, '_j', 'J');

set snakeString = replace(snakeString, '_k', 'K');

set snakeString = replace(snakeString, '_l', 'L');

set snakeString = replace(snakeString, '_m', 'M');

set snakeString = replace(snakeString, '_n', 'N');

set snakeString = replace(snakeString, '_o', 'O');

set snakeString = replace(snakeString, '_p', 'P');

set snakeString = replace(snakeString, '_q', 'Q');

set snakeString = replace(snakeString, '_r', 'R');

set snakeString = replace(snakeString, '_s', 'S');

set snakeString = replace(snakeString, '_t', 'T');

set snakeString = replace(snakeString, '_u', 'U');

set snakeString = replace(snakeString, '_v', 'V');

set snakeString = replace(snakeString, '_w', 'W');

set snakeString = replace(snakeString, '_x', 'X');

set snakeString = replace(snakeString, '_y', 'Y');

set snakeString = replace(snakeString, '_z', 'Z');

set snakeString = replace(snakeString, '_', '');

RETURN snakeString;

END;

DELIMITER ;

# 字段注释

SELECT TABLE_SCHEMA, TABLE_NAME,

group_concat(CASE COLUMN_COMMENT

WHEN '' THEN COLUMN_NAME

ELSE COLUMN_COMMENT END

ORDER BY ORDINAL_POSITION SEPARATOR ', ' ) AS COLUMN_NAMES

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME like 'job_depend' GROUP BY TABLE_SCHEMA, TABLE_NAME;

# 查找在那个表并生成 字段名 AS 注释 SQL

SELECT TABLE_SCHEMA, TABLE_NAME,

concat('SELECT ',group_concat(

CASE COLUMN_COMMENT

WHEN '' THEN COLUMN_NAME

ELSE concat_ws(' AS ', COLUMN_NAME, COLUMN_COMMENT)

END

ORDER BY ORDINAL_POSITION SEPARATOR ', ')

, ' FROM ' , TABLE_SCHEMA, '.', TABLE_NAME, ';') AS SQLStr

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME like 'job_depend' GROUP BY TABLE_SCHEMA, TABLE_NAME;

# /** 字段名 */\n private type 驼峰字段; (创建存储函数snakeToCamel后使用)

SELECT TABLE_SCHEMA, TABLE_NAME,

group_concat(concat(' /** ', COLUMN_COMMENT, ' */\n'

,' private ',

CASE COLUMN_TYPE

WHEN 'VARCHAR' THEN 'String'

WHEN 'CHAR' THEN 'String'

WHEN 'TEXT' THEN 'String'

WHEN 'TINYINT' THEN 'Integer'

WHEN 'SMALLINT' THEN 'Integer'

WHEN 'MEDIUMINT' THEN 'Integer'

WHEN 'BOOLEAN' THEN 'Integer'

WHEN 'BIGINT' THEN 'BigInteger'

WHEN 'INTEGER' THEN 'Long'

WHEN 'ID' THEN 'Long'

WHEN 'FLOAT' THEN 'Float'

WHEN 'DOUBLE' THEN 'Double'

WHEN 'DECIMAL' THEN 'BigDecimal'

WHEN 'BIT' THEN 'Boolean'

WHEN 'BLOB' THEN 'byte[]'

WHEN 'DATE' THEN 'Date'

WHEN 'YEAR' THEN 'Date'

WHEN 'TIME' THEN 'Time'

WHEN 'DATETIME' THEN 'Timestamp'

WHEN 'TIMESTAMP' THEN 'Timestamp'

ELSE 'String ' END,

snakeToCamel(COLUMN_NAME),';'

,'\n'

)

ORDER BY ORDINAL_POSITION SEPARATOR '\n' ) AS Java

FROM information_schema.COLUMNS WHERE 1=1

AND TABLE_NAME like 'job_depend' GROUP BY TABLE_SCHEMA, TABLE_NAME;

mysql 字段 驼峰_MySQL #{驼峰字段} for MyBatis相关推荐

  1. mysql最大述_mysql最大字段数量及 varchar类型总结

    mysql最大字段数 一直对mysql最大字段数不明确有人说是1024 还有人说 Max columns per row 4096 InnoDB is limited to 1000columns 实 ...

  2. mysql 删除顺序_mysql 添加字段、删除字段、调整字段顺序 转

    ALTER TABLE - 更改表属性 添加字段: alter table `user_movement_log` Add column GatewayId int  not null default ...

  3. mysql最大字段数_mysql最大字段数量及 varchar类型总结

    mysql最大字段数 一直对mysql最大字段数不明确有人说是1024 还有人说 Max columns per row 4096 InnoDB is limited to 1000columns 实 ...

  4. mysql新增字段顺序_mysql 添加字段、删除字段、调整字段顺序 转

    ALTER TABLE - 更改表属性 添加字段: alter table `user_movement_log` Add column GatewayId int  not null default ...

  5. mysql 查看blob字段大小_MYSQL BLOB 字段大小以及个数的限制测试。

    测试结论 mysql版本 5.1     表类型: innodb, row_format=compact (这是默认的行格式)     插入超过10个blob, blob的数据量很小(<768字 ...

  6. mysql字符串字段类型_MySQL字符串字段类型选择的一般规则

    1.       经常变化的字段用char 2.       知道固定长度的用char 3.       尽量用varchar 4.       超过255字节的只能用varchar或者text 5. ...

  7. mysql 命名 冲突_MySQL中字段名和保留字冲突的解决办法

    我们知道通常的SQL查询语句是这么写的: 复制代码 代码如下:select col from table; 这当然没问题,但如果字段名是"from"呢? 复制代码 代码如下:sel ...

  8. mysql groupby 拼接_mysql groupby 字段合并问题(group_concat)

    在我们的日常mysql查询中,我们可能会遇到这样的情况: 对表中的所有记录进行分类,并且我需要得到每个分类中某个字段的全部成员. 上面的话,大家看起来可能不太好懂,下面举一个例子来给大家说明. 现在我 ...

  9. mysql系统属性_mysql 显示表字段及mysql系统信息

    SHOW DATABASES                                //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name]      ...

最新文章

  1. 十问陆奇:努力、能力和机遇,谁能帮你跑赢未来?
  2. 业务上云后,58到家运维平台的演进之路(含成本规划与监控建议)
  3. 【Visual Studio】如何在VS 2012中打印变量值到输出窗口
  4. 关于Hive sql里面的分组函数
  5. oracle体系三大文件,oracle 体系_第三章控制文件
  6. 【OpenCV 例程200篇】58. 非线性滤波—中值滤波
  7. 【Pytorch】nvidia-dali——一种加速数据增强的方法
  8. 除冰机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. 因子和,因子数,1到n的因子和,1到n的因子数
  10. python 随机密码生成_python生成随机密码,包含大小写和数字
  11. 【知识图谱系列】GCNII模型探索DeepGNN的Over-Smoothing问题
  12. 利用计算机画统计图教学设计,小学数学人教版四年级上册《条形统计图》教学设计及反思...
  13. 基于Vue2和jsmind.js实现思维导图
  14. 亚利桑那州立大学计算机专业,亚利桑那州立大学计算机专业排名
  15. 基于ShardingSphere的Encrypt-JDBC数据脱敏实战
  16. 广义相对论-学习记录6-第三章-张量分析与黎曼几何3
  17. 苹果备忘录如何转移?备忘录怎么转移到新手机?
  18. node用express写后端restful接口实战三:sequelize操作数据库:模型(Model)、迁移(Migration)与种子(Seeders)
  19. 赵鹏计算机专业,赵鹏 - 安徽大学 - 计算机科学与技术学院
  20. Boosting和Bagging区别

热门文章

  1. 数组【数据结构与算法Java】
  2. DFS——深度优先搜索
  3. MySQL初始化配置
  4. 【深度学习】Ubuntu增加Swap交换空间大小
  5. Google Maps的步行者路径规划开始测试了
  6. git小乌龟pull报错 You asked to pull from the remote ‘origin‘...
  7. Windows系统安装使用Redis教程
  8. java 数据库 触发器
  9. unity3d引擎程序员养成
  10. 小米 c语言手机编译器,MIUI12终于来了!小米扬眉吐气,自主研发MIUI系统编译器!...