记录一些日常的mysql常用的使用, 方便随用随查。

一、表结构

1.1 查看表结构

  • 方式1: 可以查看建表语句,完整的表结构。
show create table table_name;
  • 方式2:可以比较好的筛选自己要查的表信息,方便整理表结构文档。
# 查询表所有列信息
select *
from information_schema.columns
where table_schema = 'db' #表所在数据库
and table_name = 'tablename' ; #你要查的表 # 查询需要的信息
select
column_name, column_type, column_comment,is_nullable
from information_schema.columns
where table_schema = 'o2o_monitor' #表所在数据库
and table_name = 'dws_o2o_overdue_stat' ; #你要查的表

1.2 表操作

1.2.1 表重命名

Rename table table_old to table_new
OR
alter table table_old Rename to table_new

1.2.2 修改表字段,包括名称、类型、备注等

# 增加字段
alter table table_name add column_new bigint(20) DEFAULT NULL COMMENT '备注' After somecolumn; # 修改字段
alter table competitor_goods change column_old column_new bigint(20) DEFAULT NULL COMMENT '备注';

1.2.3 复制表结构

create table table_new like table_old;

1.2.4 索引

# 删除索引
ALTER TABLE table_name drop index appid_idx # 添加索引
ALTER TABLE table_name ADD INDEX appid_idx (apply_id)

二、SQL使用

2.1 sql执行顺序:

SQL Select语句完整的执行顺序:

(8)  SELECT
(6) SUM(), AVG(),COUNT()
(9) DISTINCT <select_list>
(1) FROM <left_table>
(3) <join_type> JOIN <right_table>
(2) ON <join_condition>
(4) WHERE <where_condition>
(5) GROUP BY <group_by_list>
(7) HAVING <having_condition>
(10) UNION <other select results>
(11) ORDER BY <order_by_condition>
(12) LIMIT <limit_number>
  1. from子句组装来自不同数据源的数据;

    2-3 on join 多表关联;
  2. where子句基于指定的条件对记录行进行筛选;
  3. group by子句将数据划分为多个分组;
  4. 使用聚集函数进行计算;
  5. 使用having子句筛选分组;

    8-9 计算所有的表达式select distinct等;
  6. 其他数据结果 合并
  7. 使用order by对结果集进行排序。
  8. 使用LIMIT对结果限制输出数据量。

查询关键字执行顺序:

FROM -> ON -> JOIN -> WHERE -> GROUP BY -> 聚合操作 ->HAVING -> SELECT -> DISTINCT -> UNION -> ORDER BY -> LIMIT

2.2 更新记录update

2.2.1 更新记录建议事务操作

select *  from order where order_id=1231540

-- 事务开始
BEGIN -- 更新
update order
set order_date = date_sub(order_date, interval 9 day)
where order_id=1231540 -- 校验
select * from order where order_id=1231540 -- 错误回滚
ROLLBACK -- 正确提交
COMMIT

2.2.2 关联表更新

要更新的数据不能直接找到,需要做表关联才能找到

update order o
(left) join user u
on o.user_id = u.id
set o.order_date = date_sub(o.order_date, interval 9 day)
where u.user_name='张三'

mysql日常使用总结(持续更新中)的更多相关文章

  1. Mysql注入小tips --持续更新中

    学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说 ...

  2. 基础学习:MYSQL命令大全(持续更新中---最近一次:2019.12.6)

    启动mysql : mysql -hlocalhost -uroot -p创建数据库:create database 数据库名字;指定要操作的数据库:use 数===据库名字;查看数据表建表语句:sh ...

  3. PHP 日常开发过程中的bug集合(持续更新中。。。)

    PHP 日常开发过程中的bug集合(持续更新中...) 在日常php开发过程中,会遇到一些意想不到的bug,所以想着把这些bug记录下来,以免再犯! 1.字符串 '0.00'.'0.0'.'0'  是 ...

  4. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  5. redis日常使用汇总--持续更新

    redis日常使用汇总--持续更新 工作中有较多用到redis的场景,尤其是触及性能优化的方面,传统的缓存策略在处理持久化和多服务间数据共享的问题总是不尽人意,此时引入redis,但redis是单线程 ...

  6. EOS开发经验总结——不定期持续更新中

    一.新手安装mysql乱码问题 1.数据库安装时设置默认编码格式为UTF8或者打开mysql安装目录下my.ini,变更default-character-set=utf8: 2.打开EOS的Gove ...

  7. fastadmin 后台管理框架使用技巧(持续更新中)

    fastadmin 后台管理框架使用技巧(持续更新中) FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架,具体介绍,请查看文档,文档地址为:https://doc. ...

  8. 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中

    写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...

  9. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  10. 2020年腾讯实习生C++面试题&持续更新中(3)

    2020年腾讯实习生C++面试题&持续更新中(3) hello,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...

随机推荐

  1. IPC的使用

    IPC,Inter-Processor Communication是SYS/BIOS处理核间通信的组件: IPC的几种应用方式: 1.最小使用(Minimal use) 这种情况是通过核间的通知机制( ...

  2. 办公软件-Excel:Microsoft Office Excel 2003百科

    ylbtech-办公软件-Excel:Microsoft Office Excel 2003百科 Microsoft® Office Excel 2003 是一种电子表格程序,可提供对于 XML 的支 ...

  3. JavaScript-Tool:my97datepicker

    ylbtech-JavaScript-Tool:my97datepicker 1.返回顶部 1. 2.下载 https://files.cnblogs.com/files/storebook/java ...

  4. ML 徒手系列 最大似然估计

    1.最大似然估计数学定义: 假设总体分布为f(x,θ),X1,X2...Xn为总体采样得到的样本.其中X1,X2...Xn独立同分布,可求得样本的联合概率密度函数为: 其中θ是需要求得的未知量,xi是 ...

  5. asp页面重定向

    asp页面重定向 1.当你点击某页面时(没有登录),而此页面需要登录,登录后页面需要定向到你之前操作的页面时 就用到了重定向. 2.login.aspx?redirUrl="重定向的页面地址 ...

  6. shell入门-shell特性

    1.关于! 命令:!! 说明: 执行上一条命令 [root@wangshaojun ~]# pwd/root[root@wangshaojun ~]# !!pwd/root 命令:!n (n表示数字) ...

  7. 各种浏览器下的user-agent

    ie11Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko safariMozilla/5.0 (Macintos ...

  8. [CentOS7] vncviewer与windows之间的复制粘贴

    转载:https://my.oschina.net/seava/blog/226966 用VNC连接到Linux之后,最纠结的问题就是无法复制粘贴.其实很简单,在Linux里面,打开一个终端,然后输入 ...

  9. 基础篇---memcache

    十分钟学会memcache,比你想象的要简单 转发:https://baijiahao.baidu.com/s?id=1588816843517136163&wfr=spider&fo ...

  10. bzoj3876: [Ahoi2014&Jsoi2014]支线剧情(上下界费用流)

    传送门 一道题让我又要学可行流又要学zkw费用流…… 考虑一下,原题可以转化为一个有向图,每次走一条路径,把每一条边都至少覆盖一次,求最小代价 因为一条边每走过一次,就要付出一次代价 那不就是费用流了 ...