常用的mysql命令大全(mysql数据库建表的完整步骤)

常用的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:去重查询关键字: DISTINCTSELECT 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 ——>DateSTR_TO_DATE(str,format) str:字符形式的日期 format:格式化样式

10:HAVING 语句首先where、聚合函数、having 在from后面的执行顺序

语法

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

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

ALGORITHM=inplace

————–END————–

好东西要分享给小伙伴哦

发表评论

登录后才能评论