批量修改mysql 备注

SELECT
concat(
"ALTER TABLE ",
TABLE_SCHEMA,
".",
TABLE_NAME,
" CHANGE ",
COLUMN_NAME,
" ",
COLUMN_NAME,
" ",
COLUMN_TYPE,

IF (
    COLUMN_DEFAULT IS NULL,
    " ",
    concat(
        " DEFAULT ",

    IF (
        COLUMN_DEFAULT = ‘‘,
        "‘‘",
        COLUMN_DEFAULT
    )
    )
),

IF (
IS_NULLABLE = ‘NO‘,
" NOT NULL ",
‘‘
),
" COMMENT ",
" ",
"‘",
LEFT (
COLUMNS .COLUMN_NAME,
instr(COLUMNS .COLUMN_NAME, ‘F‘) - 1
),
"‘;"
)
FROM
information_schema. COLUMNS
WHERE
TABLE_NAME = ‘j_data_wa_grgz‘
AND COLUMNS .COLUMNNAME LIKE ‘%F%‘

原文地址:http://blog.51cto.com/changmen/2301147

时间: 2024-08-30 16:31:08

批量修改mysql 备注的相关文章

生产环境批量修改mysql引擎

生产环境中如何批量修改MySQL引擎 一般来说这样的需求并不多见,但是偶尔也会有,在这里我们推荐使用sed对备份的内容进行引擎转换的方式,当然了,不要忘记修改my.cnf使之支持并能高效的使用对于的引用. 方法1 mysql命令语句修改 创建后引擎更改,5.0版本之后 alter table lvnian engine=innodb; alter table lvnian engine=MyISAM; 其中lvnian是表名 更改实例 ##############################

批量修改mysql数据库表前缀。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

phpMyAdmin批量修改Mysql数据表前缀的方法

多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名 呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的批量修改数据库中表前缀的方法,适用于修改数据库中相同前缀且数据表较多 的情况. 此例中假定修改名为“www_sdck_cn”的数据库中前缀为“phpcms_”的表,并将所有符合条件表的前缀修改为“sdck_”. 1.        用phpMyAdmin打开要修改前缀的数据库www_

批量修改mysql表、表、数据库的字符校对规则

记录一个在工作中遇到的问题,也不算是问题,为的是找一种简便的方法批量修改数据表字段的排序规则,在MySQL中叫collation,常常和编码CHARACTER一起出现的.collation有三种级别,分辨是数据库级别,数据表级别和字段级别. 1.The database level 2.The table level 3.The column level https://confluence.atlassian.com/display/CONFKB/How+to+Fix+the+Collatio

在线批量修改mysql中表结构

1.获取要修改的表的表名称登录mysql库,查询出所有表 show tables; 将需要修改表结构的表名称存放到b.txt文件中2.执行修改修改表引擎为InnoDB for i in `cat b.txt`;do /usr/local/percona-toolkit/bin/pt-online-schema-change --user=root --password=123456 --host=localhost --charset=utf8 --alter="ENGINE=InnoDB&qu

如何批量修改mysql表的引擎

工作需要,要将所有的mysql表的引擎改为innodb 执行如下SQL SET @DATABASE_NAME = 'name_of_your_db';SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statementsFROM    information_schema.tables AS tbWHERE   table_schema = @DATABASE_NAMEAND     `ENGINE` =

批量修改Mysql数据库表Innodb为MyISAN

mysql -uroot -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=MYISAM;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'jitamin2' AND ENGINE = 'InnoDB' AND TABLE_TYPE = 'BASE TABLE'"

批量修改mysql数据库中某一列的值

今天做数据库合并时,发现由于之前的操作失误,导致两个库的自增最开始都没改,都是默认从1开始自增,导致数据库合并时报主键冲突. 补救方法: 在不影响程序 数据的情况下修改这个列 在现有值得基础上加上之前没有加的自增.具体命令如下: update t_game_role_beastSoul set PKId = PKId + 770000000; update t_game_role_beastSoul set PKId = PKId + 740000000;

批量修改Mysql数据库表MyISAM为InnoDB

网上有这样一个方法: 1.查看当前数据引擎的命令: show engines; 2. USE `[DBNAME]`; SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' ) FROM information_schema.TABLES AS t WHERE TABLE_SCHEMA = '[DBNAME]' AND TABLE_TYPE = 'BASE TABLE'; 将