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`<‘20150901’ AND a.`point_Id`=‘17’;

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
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值