1、表关联更新:

1
2
3
select a.`user`,a.`host`,b.db from mysql.`useras a
  left join mysql.db as on (a.`user` = b.`userand a.`host` = b.`host`)
  where a.`user` != 'root';

更新前的查询:

1
2
3
4
5
select from user_bank where id = 1650;
select from user_bank where bank_type is null;
select count(*) from user_bank where bank_type is null;
select from bank;
select from bank where bank_code = '03010000';

2、函数的使用

2.1、时间相关的函数

1
2
3
4
5
6
7
8
select UNIX_TIMESTAMP('2015-12-11 11:24:00'); -- 日期时间转时间戳
select FROM_UNIXTIME("1449804240"); -- 时间戳转日期时间
select FROM_UNIXTIME("1449804240",'%Y-%m-%d %H:%i:%S'--含格式化的转换
select NOW(); -- 当前系统时间
select DATE_ADD(NOW(),INTERVAL 1 YEAR-- 时间加1个年
select DATE_ADD(NOW(),INTERVAL -1 YEAR-- 时间减1个年
select DATE_ADD(NOW(),INTERVAL 1 MONTH); -- 时间加1个月
-- 常用日期单位:MICROSECOND,SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,YEAR,SECOND_MICROSECOND,MINUTE_MICROSECOND,MINUTE_SECOND,HOUR_MICROSEC,ND,HOUR_SECOND,HOUR_MINUTE,DAY_MICROSECOND,DAY_SECOND,DAY_MINUTE,DAY_HOUR,YEAR_MONTH

2.2、if函数的使用

1
select if(host='127.0.0.1','本机','非本机'from mysql.user;

2.3、case的使用

1
2
3
4
5
6
7
8
9
select db, 
  (
  case 
    when host = "localhost" then '本机' 
    when host = "127.0.0.1" then '本机' 
    else '其他'
  end
  ) as host,user
from mysql.db;

2.4、分组函数使用

1
select user,count(userfrom mysql.user group by user;

2.5、产生唯一值

1
2
select uuid(); -- 长uuid
select UUID_SHORT(); -- 短uuid

2.6、存储过程

2.6.1、游标的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
BEGIN
  DECLARE v_user varchar(50);
  -- 遍历数据结束标志
  DECLARE done INT DEFAULT FALSE;
  -- 游标
  DECLARE cur CURSOR FOR  select `user` from mysql.`user`;
  -- 将结束标记绑定到游标
  DECLARE CONTINUE HANDLER FOR NOT found set done = TRUE;
  -- 打开游标
  OPEN cur;
  -- 开始循环
  read_loop:LOOP
    --  变量初始化
    SET v_user='';
    -- 提取游标数据
    FETCH cur INTO v_user;
    -- 声明游标结束条件
    IF done THEN
      LEAVE read_loop;
    END IF;
    -- 这里写想做的循环
      SELECT v_user;
  END LOOP;
  -- 关闭游标
  CLOSE cur;
END

本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1721059,如需转载请自行联系原作者

mysql的sql经典写法收录相关推荐

  1. MySQL笔记(二)SQL经典实例(上)

    小明写这篇文章的目的是为了记录阅读<SQL经典实例>(安东尼-莫利纳罗著,刘春辉译)中的收获.这本书里面有MySQL.Oracle.Postgresql的语法实例.但本人目前用的是MySQ ...

  2. mysql sql wait 写法_有关SQL语句写法注意的那些事情(原创整理)

    前段时候针对开发做的SQL语句写法方面注意点的培训, 特意总结了一下,也共享一下. 书写SQL需要注意的若干问题(MySQL版) 一.基本问题 1,在系统中运行的SQL查询,先考虑一下能不能在Slav ...

  3. mysql表索引类型修改_MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法总结...

    本文实例讲述了MySQL常用的建表.添加字段.修改字段.添加索引SQL语句写法.分享给大家供大家参考,具体如下: 建表: DROP TABLE IF EXISTS bulletin; CREATE T ...

  4. mysql测试题汇总_总结:SQL练习【SQL经典练习题】

    好像今天圣诞节 刚刷完SQL练习[SQL经典练习题],本篇文章将对我不牢固的知识做简单汇总. 没对比就没标准,当练习超经典SQL练习题,做完这些你的SQL就过关了时才知道自己以前练习的SQL是最基础的 ...

  5. SQL经典实例(五)元数据查询

    列举模式中的表 Oracle select table_name from all_tables where owner = 'SCOTT'; MySQL select table_namefrom ...

  6. mysql 更改 uf_SQL经典实例(四)插入、更新和删除

    插入默认值 定义表的某些列的默认值: create table D (id integer default 0); 所有的数据库都支持使用default关键字来显式地为某一列指定默认值: insert ...

  7. MySQL数据库SQL层级优化

    MySQL数据库SQL层级优化 本篇主涉及MySQL SQL Statements层面的优化. 首先,推荐一个链接为万物之始:http://dev.mysql.com/doc/refman/5.0/e ...

  8. Mysql排序添加名词_记面试中问到的MySQL的SQL调优问题

    目录 1.场景还原 2.名词解释 3.实践情况 4.个人观点 5.引申问题 1.场景还原 面试官:小伙子,听说你会SQL调优,那我这里有一条SQL,你来帮我调优一下.SQL如下: SELECT * F ...

  9. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

最新文章

  1. Mybaits整合Spring自动扫描 接口,Mybaits配置文件.xml文件和Dao实体类
  2. 如何从异步调用返回响应?
  3. 百度定位SDK实现获取当前经纬度及位置
  4. 【Linux】一步一步学Linux——chkconfig命令(148)
  5. Python的可变类型与不可变类型
  6. glVertexAttribPointer第一个参数理解
  7. mysql 如何提高批量导入的速度
  8. 套套原来是这样装袋的,40个机械动图看懂好像并不容易。。。
  9. STM32 串口接收流程-串口接收中断
  10. 编程体系结构(05):Java多线程并发
  11. HCNA配置telnet远程管理
  12. 交换机分布缓存_网络核心交换机和普通交换机有什么区别?
  13. Mongodb的安装使用
  14. 数字图像处理第三版4.8.4例子GLPF高斯低通滤波器matlab程序
  15. 思维导图学习---数据库相关基础思维导图(2)
  16. 读《虚幻引擎程序设计浅析》笔记
  17. 【课程作业】西瓜书 机器学习课后习题 : 第五章
  18. 迷宫问题(解救小哈)
  19. Math 的 ceil、floor、round方法详解及示例
  20. java中principal对象,如何使用OAuth2获取Spring的自定义Principal对象?

热门文章

  1. 每个前端工程师都应该懂的前端性能优化总结:
  2. TS Annotation
  3. 7-150 水仙花数 (20 分)
  4. android app固定dp,Android屏幕适配—被偷走的dp
  5. 删除顺序表中指定值的所有元素(C++,vector)
  6. IDEA创建第一个Spring Boot项目
  7. 怎么修剪_杏树怎么育苗?怎么修剪怎么防治病虫害?
  8. ai怎么渐变颜色_AI教程!渐变色噪点质感城堡场景插画绘制过程分享
  9. WPF学习笔记(7):DataGrid中数字自定义格式显示
  10. 用javascript代码拼html