无论开发还是测试人员,在工作中经常涉及数据库交互,需要去操作数据库,这里简单的讲下,并记录一些常用的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
-
奶凶奶凶可爱的情侣网名 好听到爆的狗狗名字 生命重于泰山观后感 自我鉴定 离别后各自珍重的诗句 穿越火线名字 女人最爱听的赞美的话 微信昵称大全 做最好的自己读后感 早安打工人 开满丁香花的校园 好听网名仙气 吸引人的装修朋友圈文案 仿写安塞腰鼓第7段 秋天作文 冻人的幽默说说 转正申请 吃年夜饭朋友圈配文 绝望的句子八个字 日出作文 大学生预备党员思想汇报 说明文 读后感范文 两个字的女生网名 培训学习总结 学位申请理由 取一个自律的名字 奋斗的网名 个人工作鉴定 文案短句干净治愈(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)