批量修改表注释

一:业务应用场景

1.测试环境执行重新建表,导致表注释乱码

2.数据已导入,数据中不存在中文字符

二:批量修改表注释乱码语句

select concat("ALTER TABLE ","`",col.TABLE_NAME,"`"," CHANGE ","`",col.COLUMN_NAME,"`"," ","`",col.COLUMN_NAME,"`"," ",col.COLUMN_TYPE , " ", if(col.CHARACTER_SET_NAME is null," ",concat(" character set ",col.CHARACTER_SET_NAME," ")), if(col.COLLATION_NAME is null," ",concat(" COLLATE ","‘",col.COLLATION_NAME,"‘ ")), if(col.IS_NULLABLE=‘NO‘," NOT NULL "," null "), if(col.COLUMN_DEFAULT is null , if(col.EXTRA=‘auto_increment‘ or col.IS_NULLABLE=‘NO‘," "," DEFAULT null ") ,concat(" DEFAULT ",if(col.DATA_TYPE=‘timestamp‘ or col.DATA_TYPE=‘bit‘ ,col.COLUMN_DEFAULT,concat("‘",col.COLUMN_DEFAULT,"‘")))), if(col.EXTRA is null ," ",concat(" ",col.EXTRA," " )), " COMMENT "," ","‘",col.COLUMN_COMMENT,"‘",";") change_column_type from information_schema.COLUMNS col join information_schema.tables tbl on col.TABLE_SCHEMA=tbl.TABLE_SCHEMA and col.TABLE_NAME=tbl.TABLE_NAME where col.TABLE_SCHEMA=‘ems‘ and tbl.TABLE_TYPE=‘BASE TABLE‘ and col.table_name=‘t0‘

原文地址:

https://www.cnblogs.com/zejin2008/p/5133858.html

原文地址:https://www.cnblogs.com/zhs0/p/10923424.html

时间: 2024-10-02 18:18:31

批量修改表注释的相关文章

利用shell脚本批量修改表

最近公司里因为开发新功能,程序员需要快速在某一个库里的所有表添加字段,于是就用shell脚本简单快速实现批量修改表添加字段 #!/bin/bash export mysql_bin=/usr/local/mysql/bin export database=database export tables=`$mysql_bin/mysql -Bse "use ${database};show tables;"` for i in ${tables}         do          

mysql表名等大小写敏感问题、字段类型timestamp、批量修改表名、oracle查询历史操作记录等

mysql表名等大小写敏感问题:http://blog.csdn.net/postnull/article/details/72455768: 1 MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 2 1.数据库名与表名是严格区分大小写的: 3 2.表的别名是严格区分大小写的: 4 3.列名与列的别名在所有的情况下均是忽略大小写的: 5 4.字段内容默认情况下是大小写不敏感的. ================================================

PHP 批量修改表名前缀

很多时候我们写项目时,都会给不同项目所用到的表名加上统一的前缀,这个也给将来迁移项目带来一定的麻烦. 有时可能的你迁移的目标数据库已经有了其它的项目存在,而且它们的表前缀又刚好跟你的一样,这样能怎么办,只能后来的迁就一下,改吧! 下面是我写的一段批量修改表前缀的代码,供大家参考一下,希望对大家有所帮助. PHP代码 1 <?php 2 3 $old_pre = @$_GET['old_pre']; // 原表前缀 4 $new_pre = @$_GET['new_pre']; // 新表前缀 5

MYSQL批量修改表前缀与表名sql语句

修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO db_', substring(table_name, 4), ';' ) FROM information_schema. TABLES WHERE table_name LIKE 'ct%'; 批量复制一下到Notepad++中,只保留sql语句,再复

Django 使用 modelformset 组件批量修改表单数据

1.models.py: class StudentStudyRecord(models.Model): ''' 学生学习记录 ''' student = models.ForeignKey(verbose_name="学员", to='Student',on_delete=models.CASCADE) classstudyrecord = models.ForeignKey(verbose_name="第几天课程", to="ClassStudyRec

php实现批量修改表前缀的方法介绍~

解决这个问题,网上通常有两种方法,底部附第三种方法,按照官方文档建议的方式来. 第一种方法就是批量生成alter table 的数据库修改语句,然后复制到文本处理工具中,然后批量把前缀给修改成想要的,然后粘贴到mysql工具的执行窗口,这样就可实现修改数据表前缀的功能:如下: select concat('alter table',table_name,'rename to',table_name) from information_schema.tables where table_name

SQL SERVER批量修改表名前缀

比如前缀由mms_修改为 ets_ exec   sp_msforeachtable     @command1='  declare   @o   sysname,@n   sysname       select   @o=''?''     ,@n=stuff(@o,1,charindex(''].[mms_'',@o)+6,''ets_'')     ,@n=left(@n,len(@n)-1)     exec   sp_rename   @o,@n',     @whereand='

mysql批量修改表前缀

SQL语句: SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO db_', substring(table_name, 4), ';' ) FROM information_schema. TABLES WHERE table_name LIKE 'ct%'; 原文地址:https://www.cnblogs.com/lty-fly/p/11687354.html

MySQL批量修改相同后缀表名

执行步骤 1.用concat批量生成修改表名的语句 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', substring(table_name,1,locate('_postfix',table_name)),'_new_postfix',';' ) FROM information_schema.tables Where table_name LIKE '%_postfix'; 2.将生成的语句执行一遍即可完成修改 ------