mysql 批量修改字段方法

#mysql批量修改字段类型

#获得修改语句并存储到临时表
USE db;
CREATE TEMPORARY TABLE XIUGAI SELECT   CONCAT(  ‘alter table ‘,table_name,‘ MODIFY COLUMN ‘,column_name, ‘ 新类型  DEFAULT NULL;‘  ) AS col FROM  INFORMATION_SCHEMA.columns a   WHERE TABLE_SCHEMA = ‘数据库名称‘ AND data_type IN (‘旧类型‘) ;

#查看获得的语句
SELECT * FROM XIUGAI;

#mysql外执行,导出表内容,-N不带列名 -e执行语句
mysql -uroot -p -N -e "select * from XIUGAI" 数据库>/home/XIUGAI.SQL

#mysql外执行,通过脚本批量执行alter语句
mysql -uroot -p 数据库 </home/XIUGAI.SQL

  有时候我们我们业务调整需要批量执行修改数据库所有某个字段类型

时间: 2024-11-05 11:30:36

mysql 批量修改字段方法的相关文章

网站更换了域名图片路径批量修改的方法

我们有可能会问,我们要是换域名了,做的网站怎么修改图片路径啊,换域名之后网站所有文章和软件的图片都不显示了,因为织梦上传图片用的是绝对地址,如果域名更换后,之前发布的文章的图片URL是不会跟着改变的,所以我们需要把旧域名替换成新的域名,方法很简单,有一段SQL语句更新一下文章正文内容就行. 复制下面SQL语句进织梦DedeCms的后台,点 系统 -> SQL命令行工具,然后看到一个文本框,在文本框内输入SQL语句,按确定之行.如果操作成功,上面会提示"成功执行x个SQL语句!"

C++开发人脸性别识别教程(18)——辅助功能之文件名批量修改、方法验证

时光推移了30多天,这个人脸性别识别的小项目也接近尾声了,预计再通过三篇博文的篇幅来完成这个项目的收尾工作.在这篇博文中我们再为程序添加另外两个小的辅助功能:文件名批量修改.方法验证. 一 文件名批量修改 批量修改文件名是一件很基础也很常用的小操作,核心操作就是图像文件的批量读取.批量改名.批量保存.基本思想就是把文件读出来,然后在保存回去(注意不要和别的文件发生覆盖),从这个角度来讲文件名批量修改与上一篇博客C++开发人脸性别识别教程(17)——辅助功能之人脸批量分割中的人脸批量分割简直如出一

SQL两表关联查询&批量修改字段值

SQL关联查询&修改字段,正确范例如下: --批量修改报告单位名称&更新时间 --tt和tp两表关联查询,将符合条件的tt表中的principal字段更新到tp表的ruperson字段 merge into nhis34.t_publicplaces tp using standard.t_organization tt on (tt.orgcode = tp.r_orgcode and tp.create_time > '2015-05-07 00:00:00') when mat

mysql update语句,修改字段,,或者是批量修改字段

更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加?? 例如: 我的test表,有个user字段,我现在想在它后面加了另一个用户的名字 我在mysql数据库这样写 UPDATE test SET user= user+ ',phpchina' WHERE id= '2'; 这样是不对的,mysql数据库把它当成数字相加了,user字段值变成0了. 应该: UPDATE test SET user= CONCAT(user,',phpchina') WHERE id= '2

批量修改字段中不规则的部分

需求:mysql数据表中有img字段,其中包括下面三条数据,我想把图片名保留下来,前面的部分改成自己想要的部分,即下面三条数据,其实这个字段的数据远不止三条,这里只是个例子. http://s29.9956.cn/product/40/ac/40ace1babb133e1ea17f09932dd2e508.jpg http://s29.9956.cn/product/cf/f8/cff815dabb3555cf1df47388baa32b84.jpg http://s29.9956.cn/pro

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语句,再复

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.将生成的语句执行一遍即可完成修改 ------

MySQL 批量修改某一列的值为另外一个字段的值

mysql> select * from fruit; +----+--------+-------+ | id | name | price | +----+--------+-------+ | 1 | apple | 0 | | 2 | banana | 0 | | 3 | orange | 0 | | 4 | mango | 0 | | 5 | pomelo | 0 | +----+--------+-------+ 5 rows in set (0.00 sec) 要求很简单,将上面f

MySQL批量修改数据库的字符集

#走过,试过的路 UPDATE information_schema.`SCHEMATA` SET DEFAULT_COLLATION_NAME='utf8_general_ci' WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci'; #————尝试使用update语句来修改,这是走不通的,报以下错误 没有权限. #错误代码: 1044#Access denied for user 'root'@'%' to database 'informatio