博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql添加、删除、修改字段。修改、批量修改字段备注。批量修正数据。
阅读量:3898 次
发布时间:2019-05-23

本文共 2614 字,大约阅读时间需要 8 分钟。

mysql语句添加字段:

alter table 表名 ADD 字段名  tinyint(1) DEFAULT NULL COMMENT '这是注释';

mysql语句删除字段:

alter table 表名 drop column is_placement ;

mysql语句修改字段名称

alter table 表名 change 修改前的字段名称  修改后的字段名称  smallint(5) unsigned DEFAULT NULL COMMENT '这是注释';

mysql语句修改字段备注:

ALTER TABLE 表名 MODIFY COLUMN 字段名 tinyint(1) DEFAULT NULL COMMENT '这是注释';

将datetime类型的字段改自动更新时间

ALTER TABLE 表名CHANGE 修改前的字段名称 修改后的字段名称 datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

查询某个字段重复出现的次数

select 字段名,count(*) as count from 表名 group by code having count>1;

如需大量的更新和修改字段,请用以下语句

mysql语句批量更新或修改注释时,直接生成更新语句,避免操作失误(只用修改表名和库名就可以)

SELECT     concat(        'alter table ',         table_schema, '.', table_name,         ' modify column ', column_name, ' ', column_type, ' ',         if(is_nullable = 'YES', ' ', 'not null '),         if(column_default IS NULL, '',             if(                data_type IN ('char', 'varchar')                 OR                 data_type IN ('date', 'datetime', 'timestamp') AND column_default != 'CURRENT_TIMESTAMP',                 concat(' default ''', column_default,''''),                 concat(' default ', column_default)            )        ),         if(extra is null or extra='','',concat(' ',extra)),      ' comment ''', column_comment, ''';'    ) s    FROM information_schema.columns    WHERE table_schema = '库名'        AND table_name = '表名';

更新数据

一般更新是这样写的:

updata orders set payment='支付宝' where id=‘3’;

但是如果想批量修正数据,那么就可以这样写:

UPDATE orders SET    pay_name = CASE pay_id        WHEN 1 THEN '银行汇款/转帐'        WHEN 2 THEN '支付宝'        WHEN 3 THEN '微信'		WHEN 4 THEN '支付宝-网银直连'		WHEN 5 THEN '美悦宝'		WHEN 6 THEN '快钱人民币网关'		WHEN 7 THEN '银联在线支付'    ENDWHERE pay_id != 0 and pay_id != '' and pay_name = '';

以上sql的意思是:

更新orders表中pay_name字段

  • 如果pay_id = 1 则 pay_name = ‘银行汇款/转帐’
  • 如果pay_id = 2 则 pay_name = ‘支付宝’
  • 如果pay_id = 3 则 pay_name = ‘微信’
  • ··············

如果想一次修正多条语句,可以使用以下方法(批量修正数据)

UPDATE orders SET    pay_name = CASE pay_id        WHEN 1 THEN '银行汇款/转帐'        WHEN 2 THEN '支付宝'        WHEN 3 THEN '微信'		WHEN 4 THEN '支付宝-网银直连'		WHEN 5 THEN '美悦宝'		WHEN 6 THEN '快钱人民币网关'		WHEN 7 THEN '银联在线支付'    END    shipping_name= CASE shipping_id        WHEN 1 THEN '邮政'        WHEN 2 THEN '顺丰'        WHEN 3 THEN '德邦'    ENDWHERE pay_id != 0 and pay_id != '' and pay_name = '' and  	shipping_id != 0 and shipping_id != '' and shipping_name = '';

以上语句的意思是:当“pay_name ”为“1”时,把这个字段的值改为“银行汇款/转帐”,以此类推!


批量更新一个字段:

将表中的某个字段的值都加50

update 表名 set 要修改的字段名 = 要修改的字段名+50;

批量修正数据的方法转载这位大佬的,谢谢大佬!(此大佬博客中还有更加全面的说明和方法,欢迎查看!)

https://www.awaimai.com/2103.html

Mysql语句批量更新或修改注释的语句,转载这位大佬的,感谢大佬!

blog.itpub.net/29254281/viewspace-1982180/

你可能感兴趣的文章
男默女泪,努力复习的我终于通过社招进入BAT工作了!(JAVA+JVM+框架+中间件+Spring干货分享)
查看>>
Python 导包
查看>>
dok_matrix
查看>>
theano 后端爆内存
查看>>
os.environ 和 keras.json
查看>>
后台面试经典问题-手写LRU算法
查看>>
Part-Guided Attention Learning for Vehicle Instance Retrieval
查看>>
Deep Residual Learning for Image Recognition
查看>>
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
查看>>
vue+flask实现视频目标检测yolov5
查看>>
关于BigInteger
查看>>
UIScrollView不能响应UITouch事件
查看>>
iOS TextFiled 文本密码切换 光标偏移解决
查看>>
iOS 当前应用所占内存和设备可用内存
查看>>
iOS 文件属性
查看>>
UIView的layoutSubviews和drawRect方法何时调用
查看>>
iOS GCD多线程下载原理
查看>>
NSData全部API解释
查看>>
iOS 侧滑菜单封装Demo(类似QQ侧滑效果)
查看>>
Spring学习(二)
查看>>