Mysql基础应用(包括表连接)

1.去重查询:distinct

只有select语句可以使用它,而且必须放在select之后。

例子:select DISTINCT mobile,phone from js_sys_user

2.排序查询:order by

  1. 需要升序排序时,末尾加上ASC;需要降序排序时,末尾加上:DESC,默认的order by是升序排序的。
  2. Order by是可以用date类型或者datetime类型来排序的。

例子:升序:select * from js_sys_user ORDER BY pwd_update_date

降序:select * from js_sys_user ORDER BY pwd_update_date DESC

3.限制查询数:limit

select mobile,phone from js_sys_user limit 3

4.聚拢查询(分组查询)、聚拢函数:group by、Having

聚拢查询大多配合聚拢函数使用。常用的聚拢函数有:count,sum,avg,max,min。

例子:select count(*),SUM(mobile),avg(mobile) from js_sys_user GROUP BY user_type

Having表示对聚拢后的内容进行再条件过滤。

例子:select count(*) from js_sys_user GROUP BY user_type HAVING count(*)>3

5.表连接

5.1内连接

例子:select email,role_code from js_sys_user jsu,js_sys_user_role jsur where jsu.user_code=jsur.user_code

5.2外连接

左连接:left  join…..on

含义:以左边的表为主表,主表的所有查询记录无论有没有和右表匹配,都会查询出来,而右表只有当它和左表匹配时才可以被查询出来。

例子:select user_name,role_code from js_sys_user jsu LEFT JOIN js_sys_user_role jsur on jsu.user_code=jsur.user_code

右连接:right  join…..on

含义:以右边的表为主表,主表的所有查询记录无论有没有和左表匹配,都会查询出来,而左表只有当它和右表匹配时才可以被查询出来。

例子:select user_name,role_code from js_sys_user jsu LEFT JOIN js_sys_user_role jsur on jsu.user_code=jsur.user_code

6.子查询:in、not in、exists、not exists

重点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Inexists的区别:

例如有查询语句:Select * from A where id in(select id from B)

-对于in来说,in是先对B表进行查询,得到查询结果后与A表做笛卡儿积进行匹配。因此当B表的数据比A表少的时候,使用in的数据库查询效率比较高。

-对于exists来说,exists是先对A表进行查询,得到查询结果后与B表做笛卡儿积进行匹配。因此当A表的数据比B表少的时候,使用exists的数据库查询效率更高。

-A、B表数据差不多的时候,两者查询效率相近。

7.区间查询:between…and

例子:select * from js_sys_area where area_code BETWEEN 370000 and 370111

8.空数据查询:is null

例子:select * from js_sys_user where email is null

9.模糊查询:like

左模糊查询:select * from js_sys_user where user_name like '%0'

右模糊查询:select * from js_sys_user where user_name like '用户%'(右模糊查询能够索引,不需要查询全表,因此查询效率是最高的)

全模糊查询:select * from js_sys_user where user_name like '%管理员%'

10.匹配正则查询:regexp

能够获得匹配正则的内容。

例子:select * from js_sys_user where password REGEXP 'ba'

11.或查询:or(最好不用,否则将会放弃索引采用全表查询)

数据库基础技巧及用法相关推荐

  1. 数据库基础内容(超级详细)

    数据库基础 文章目录 数据库基础 数据库基本概念 概述: MySql运行机制: 数据库结构简介 数据库软件 Mysql安装准备: Mysql服务安装 MySQL卸载: Mysql登录: SQL语言的概 ...

  2. Mysql数据库基础知识总复习

    前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ ...

  3. 14 个实用的数据库设计技巧,一次性教给你!

    目录 原始单据与实体之间的关系 主键与外键 基本表的性质 范式标准 通俗地理解三个范式 要善于识别与正确处理多对多的关系 主键PK的取值方法 正确认识数据冗余 E--R图没有标准答案 视图技术在数据库 ...

  4. 14个实用的数据库设计技巧!

    作者: sirfei 来源:blog.csdn.net/sirfei/article/details/434994 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它 ...

  5. PCB布局布线基础技巧问答_“Altium杯”Altium_Designer应用技巧

    转载于:http://blog.csdn.net/qq_29350001/article/details/50904280 一 PCB布局布线基础技巧 1.高频信号布线时要注意哪些问题? 1.信号线的 ...

  6. mysql 导出dmp文件_MySQL数据库基础讲解

    # 简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Publi ...

  7. 面试: 14 个实用的数据库设计技巧,一次性教给你!

    目录 原始单据与实体之间的关系 主键与外键 基本表的性质 范式标准 通俗地理解三个范式 要善于识别与正确处理多对多的关系 主键PK的取值方法 正确认识数据冗余 E--R图没有标准答案 视图技术在数据库 ...

  8. 2数据库表增加一个字段_14个实用的数据库设计技巧!

    1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体. 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证 ...

  9. 浅谈数据库设计技巧(上)

    浅谈数据库设计技巧(上) 说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡 ...

  10. 【MySQL】37 个 MySQL 数据库小技巧

    1.概述 转载:37 个 MySQL 数据库小技巧,不看别后悔! 无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢? ...

最新文章

  1. angular 拦截器
  2. 【科普】OSS存储的基本操作
  3. mysql oneproxy_利用oneproxy实现mysql读写分离搭建笔记
  4. 我的第一个oracle触发器
  5. 盘点大厂的那些开源项目 - 小米科技
  6. 设置RadioButton控件中文本的位置.
  7. h5自定义相机界面_有没有什么比较好用的H5小程序?
  8. 深入理解jQuery插件开发(转)
  9. 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
  10. 小韦老师@神犇营-my1063-引爆炸弹
  11. 猴子爬树php,爬树就像猴子一样顺溜的生肖女
  12. Excel图表—超级好用的Bullet图(KPI考核图)
  13. MYSQL 大于号,小于号
  14. AIX上解压缩.tar.Z, .tar.gz, .zip及.tgz
  15. 南卫理公会大学计算机科学,南卫理公会大学计算机科学专业.pdf
  16. mysql 数据库备份
  17. ESP32开发板连接TFT屏幕
  18. 手机泰拉瑞亚在线联机服务器ip,泰拉瑞亚1.4版本如何用IP联机
  19. 教程篇(6.4) 05. 集成 ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7
  20. AnnotationMethodHandlerAdapter废弃的解决方法

热门文章

  1. 层次分析法算法及matlab和lingo求解一致性
  2. 电脑桌面的计算机网络回收站图标不见了,桌面回收站图标不见了怎么办 回收站图标找回方法【图文】...
  3. 安全管家安卓_手机管家和顽固木马专杀哪个更好用
  4. jquery ajax传参
  5. PL/SQL Developer 9.0.1.1613
  6. caffe+报错︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
  7. 巴塞尔协议中的计算公式_巴塞尔协议演变及计算方法简单解析
  8. 排查 java 程序CPU飙升问题
  9. 程序员值得提升的沟通小技巧!
  10. (转)中国IT界名人