mysql命令去重_Mysql 常用命令操作

无论开发还是测试人员,在工作中经常涉及数据库交互,需要去操作数据库,这里简单的讲下,并记录一些常用的mysql命令,不足之处还恳请大家多多包涵和指出!!!

1:表备份 (不要随意的去删除某些表,要习惯性的去做一些备份)

备份

命令: create table backup_table as select * from table;

实践操作:CREATE TABLE `tb_goods_backup20181125` AS SELECT * FROM `tb_goods`;

还原:

create table table as select * from backup_table;

2:去重查询

关键字: DISTINCT

SELECT DISTINCT(msisdn) FROM a5_monopoly_shake a WHERE a.`point_type`='1’AND a.`create_Time`

3:INSERT INTO 语句遇到的问题案例,这种情况要想到 update 语句

4:Update 语句

update 语句注意点,如何处理 set 后面 多个列表字段值。注意使用 ,(英文状态逗号) 不要用 AND ,不然语法不报错,但实际没有 update 成功。update set后面的 字段值 要用 一对单引号 引起来 ‘’ ,不然会报语法错误

set 后面多个 要修改的列表字段 用AND 连接,有时候语法没报错,但语法没报错,但结果不是我们要update 应该得到的结果

上面的是语法没报错,但实际结果也update到对应想要的结果

但为什么name值就变成了 0 ,而且就只有放在语句前面的name字段有变更,后面number没有变更呢??问题点应该在:mysql 存在运算符,and 在set 这里可能 充当了运算符的作用,更新操作set之后使用and 只会执行name = xx; 数据库经过运算结果为false 返回 0

----- 看下用and 有时候 会报语法错误

name后字符串里是数字没报错,试下 字母字符串

问题来了,为什么 name列表字段 set成 ‘test123’ 时就报错了??

Truncated incorrect DOUBLE value:

把set 后面的 AND number=1502813695500去掉又不报这错 ,说明问题还在这个and 这里数据库执行语句,在解析语句执行语句的时候报了错,正确的操作是set 里有多个要修改字段时,用 英文状态 逗号,不要用AND去连接

5:DELETE 语句,要删除整表数据,横向比较 整表数据 truncate

---- 清空全部数据,不写日志,不可恢复,速度极快

truncate table 表名;

6: DROP 语句

删除索引

删表

删数据库

7:对数据排序 – ORDER BY 语句

升序和降序的同时处理

8:善于利用给表赋予别名,需要的时候可以1张表赋予2次别名

(承接刚才的问题及描述)

9:时间格式转换

1.Date ——> String

2.String ——>Date

STR_TO_DATE(str,format) str:字符形式的日期 format:格式化样式

10:HAVING 语句

首先

where、聚合函数、having 在from后面的执行顺序

12:手动更新表不锁表 (oracle)

13:数据库表大数据 增加表字段

ALGORITHM=inplace

往期

精彩回顾

没有前辈带领,只靠自己满满摸索成长缓慢;

缺少系统全面的学习路径,迟迟无法突破瓶颈;

只懂理论知识没有太多实操经验,没办法造轮子;

一个人钻研Bug的时候,感到孤独无助,无从下手;

如果你也遇到了以上不止一种情况,不妨登陆松勤网(www.songqinnet.com),在这里你将获得【行业最新资讯】、【免费测试工具安装包】【技术干货分享】、【求职面试技巧】等。遇见松勤,高薪终会不期而遇!期待与您一起成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值