mysql批量生成修改表和列注释语句
当我们在一个数据库修改完备注后,需要将其导致另一个服务器上的数据库中,需要生成批量执行语句,方便操作,注意用change 或modified 进行列的属性修改时,没有写全的话会造成其它属性的丢失,如
t_users 表中有字段 name 备注名为 姓名,默认值为0,如果用alter table t_users change column name name varchar(10) ;那么备注名就会消失,默认值也会消失。故通过如下语句可以生成完事的alter 语句
生成表修改备注语句
修改数据库备注名: 单条语句写法:alter table t_version comment '版本' 生成批量语句写法:select concat("alter table " ,TABLE_NAME, " comment ", "'",TABLE_COMMENT,"'",";") from information_schema.tables where information_schema.tables.TABLE_SCHEMA='dwzx' and information_schema.tables.TABLE_TYPE='BASE TABLE'
生成列修改
单条语句写法:ALTER TABLE t_content CHANGE name name [type] [character set utf8] [COLLATE 'utf8_general_ci'] [not null] DEFAULT ['xxx' | null] [auto_increment] COMMENT 'xxx' 以下有几种比较典型的写法(全格式写): ALTER TABLE `t_month_detail` CHANGE `bpu_time` `bpu_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '发布时间';--timestamp 类型比较特别,得写全,如下写法: ALTER TABLE `t_month_detail` CHANGE `bpu_time` `bpu_time` timestamp COMMENT '发布时间'; 默认值不为null。 ALTER TABLE `t_award_user` CHANGE `id` `id` bigint(20) NOT NULL auto_increment COMMENT ''; -- 没有加auto_increment会丢失此属性 ALTER TABLE `t_agens` CHANGE `intro` `intro` char(10) character set utf8 COLLATE 'utf8_general_ci' null DEFAULT null COMMENT '机构简介'; ALTER TABLE `t_news` CHANGE `use` `use` bit(1) null DEFAULT b'0' COMMENT '是否显示'; 生成批量语句写法--完整格式写法(呕心沥血之作) 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='dwzx' and tbl.TABLE_TYPE='BASE TABLE' ;
转载于:https://www.cnblogs.com/zejin2008/p/5133858.html
mysql批量生成修改表和列注释语句相关推荐
- mysql批量取消多行sql_mysql批量删除指定前缀的表,批量修改表名的SQL语句
批量删除指定前缀的表 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where tabl ...
- EXCEL 批量生成sheet表+生成超链接目录+某列按多条件去重罗列+提取单元格中的字母、数字
文章目录 前言 一.EXCEL 公式实现多个条件值匹配 二.EXCEL 工作薄下SHEET表太多时你可以这样做 1.生成多个相同表头的SHEET表 1.1.批量生成SHEET表 1.2.批量更改多个S ...
- 图书条码mysql数据库_中琅条码软件如何连接MySQL批量生成128码
原标题:中琅条码软件如何连接MySQL批量生成128码 中琅条码软件除了支持常见的TXT,CSV.Excel等文件类型数据库,还支持MySQL.SQLServer.Access等常用数据库.下面就以M ...
- mysql修改工资字段_基于Linux的MySQL操作实例(修改表结构,MySQL索引,MySQL数据引擎)...
基于Linux的MySQL操作实例(修改表结构,MySQL索引,MySQL数据引擎) 前言 本篇是基于Linux下针对MySQL表结构的修改,MySQL索引的操作以及MySQL数据引擎的配置和说明. ...
- postgresql表和列注释(描述)
2019独角兽企业重金招聘Python工程师标准>>> PostgreSQL添加表和列注释.本文为测试表test,默认无注释. test=# \d+关联列表架构模式 | 名称 | 类 ...
- mysql的altertable_mysqlaltertable修改表命令详细介绍
MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: AD ...
- 将Excel明细表按指定模板样式批量生成新表,也可生成工作簿
通过E灵插件可以将明细表批量转换成指定格式的新表. 使用前需要做准备工作,工作簿中必须有一个明细表.一个模板表. 在模板表中需要做标示,标示方法是: 将明细表中的标题(关键字)复制到模板表中,且前后添 ...
- mysql alter table修改表命令整理
这篇文章主要介绍了mysql alter table修改表命令整理的相关资料,需要的朋友可以参考下 MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段.索引.主键等等,本文 ...
- sqlite 修改表的列
文章目录 sqlite 修改表的列 1. 问题的引入 2. ALTER命令 2.1 表重命名 2.2 新增列 3. 重建表修改列 3.1 重命名表 3.2 重新创建表 3.3 插入数据 3.4 删除旧 ...
最新文章
- CSS实现元素居中原理解析
- Kotlin如何避免“!!”(非空断言)
- topic是短语还是句子_英语七下unit 5 topic 3短语句子
- Java单向链表操作详解
- TabLayout让Fragment在ViewPager中的滑动切换更优雅
- python网络编程-一些常用有用的函数
- java程序 启动慢_spring boot 程序启动缓慢的问题
- vc6.0 debug 比 release 快??_快速入门快应用——quickapp构建与发布
- 计算机专业英语问卷调查,调查问卷英文版.doc
- js 字符串编码与解码
- SQLserver 事务日志已满解决方法
- 为什么mysql查询结果有前缀_字符串的公共前缀对Mysql B+树查询影响回溯分析
- zeppelin 配置 spark
- 皮尔逊系数皮尔逊系数---K近算法之皮尔逊系数
- 走近openGauss数据库
- jsessionId的使用
- 2021-03-03-Beamforming algorithms - beamformers
- 手机投屏到电视上怎么操作?
- 气温和降水空间栅格数据下载RS123
- MTK6577+Android之按键(key)修改
热门文章
- 安装SQL2005提示“SQL Server 2005 COM+ 目录要求”警告 解决方法
- nandflash与文件系统,oob区数据扫盲。后面还会补充实际生产烧录的心得体验,依据不同的文件系统
- 重学java基础第十六课:jdk jre jvm
- Taro+react开发(73):Taro.createSelectorQuery
- PS教程第七课:如何查看图层
- 前端学习(2887):如何短时间内实现v-for createApp解决方案
- 工作342:消除平时环境的console
- 前端学习(2048)vue之电商管理系统电商系统之实现首页内容自定制
- 前端学习(1687):前端系列javascript基础面试前言
- 前端学习(902):this指向问题