数据库基础技巧及用法
Mysql基础应用(包括表连接)
1.去重查询:distinct
只有select语句可以使用它,而且必须放在select之后。
例子:select DISTINCT mobile,phone from js_sys_user
2.排序查询:order by
- 需要升序排序时,末尾加上ASC;需要降序排序时,末尾加上:DESC,默认的order by是升序排序的。
- 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
重点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
In与exists的区别:
例如有查询语句: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(最好不用,否则将会放弃索引采用全表查询)
数据库基础技巧及用法相关推荐
- 数据库基础内容(超级详细)
数据库基础 文章目录 数据库基础 数据库基本概念 概述: MySql运行机制: 数据库结构简介 数据库软件 Mysql安装准备: Mysql服务安装 MySQL卸载: Mysql登录: SQL语言的概 ...
- Mysql数据库基础知识总复习
前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ ...
- 14 个实用的数据库设计技巧,一次性教给你!
目录 原始单据与实体之间的关系 主键与外键 基本表的性质 范式标准 通俗地理解三个范式 要善于识别与正确处理多对多的关系 主键PK的取值方法 正确认识数据冗余 E--R图没有标准答案 视图技术在数据库 ...
- 14个实用的数据库设计技巧!
作者: sirfei 来源:blog.csdn.net/sirfei/article/details/434994 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它 ...
- PCB布局布线基础技巧问答_“Altium杯”Altium_Designer应用技巧
转载于:http://blog.csdn.net/qq_29350001/article/details/50904280 一 PCB布局布线基础技巧 1.高频信号布线时要注意哪些问题? 1.信号线的 ...
- mysql 导出dmp文件_MySQL数据库基础讲解
# 简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Publi ...
- 面试: 14 个实用的数据库设计技巧,一次性教给你!
目录 原始单据与实体之间的关系 主键与外键 基本表的性质 范式标准 通俗地理解三个范式 要善于识别与正确处理多对多的关系 主键PK的取值方法 正确认识数据冗余 E--R图没有标准答案 视图技术在数据库 ...
- 2数据库表增加一个字段_14个实用的数据库设计技巧!
1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体. 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证 ...
- 浅谈数据库设计技巧(上)
浅谈数据库设计技巧(上) 说到数据库,我认为不能不先谈数据结构.1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法.尽管现在的程序开发已由面向过程为主逐步过渡 ...
- 【MySQL】37 个 MySQL 数据库小技巧
1.概述 转载:37 个 MySQL 数据库小技巧,不看别后悔! 无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢? ...
最新文章
- angular 拦截器
- 【科普】OSS存储的基本操作
- mysql oneproxy_利用oneproxy实现mysql读写分离搭建笔记
- 我的第一个oracle触发器
- 盘点大厂的那些开源项目 - 小米科技
- 设置RadioButton控件中文本的位置.
- h5自定义相机界面_有没有什么比较好用的H5小程序?
- 深入理解jQuery插件开发(转)
- 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
- 小韦老师@神犇营-my1063-引爆炸弹
- 猴子爬树php,爬树就像猴子一样顺溜的生肖女
- Excel图表—超级好用的Bullet图(KPI考核图)
- MYSQL 大于号,小于号
- AIX上解压缩.tar.Z, .tar.gz, .zip及.tgz
- 南卫理公会大学计算机科学,南卫理公会大学计算机科学专业.pdf
- mysql 数据库备份
- ESP32开发板连接TFT屏幕
- 手机泰拉瑞亚在线联机服务器ip,泰拉瑞亚1.4版本如何用IP联机
- 教程篇(6.4) 05. 集成 ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7
- AnnotationMethodHandlerAdapter废弃的解决方法
热门文章
- 层次分析法算法及matlab和lingo求解一致性
- 电脑桌面的计算机网络回收站图标不见了,桌面回收站图标不见了怎么办 回收站图标找回方法【图文】...
- 安全管家安卓_手机管家和顽固木马专杀哪个更好用
- jquery ajax传参
- PL/SQL Developer 9.0.1.1613
- caffe+报错︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
- 巴塞尔协议中的计算公式_巴塞尔协议演变及计算方法简单解析
- 排查 java 程序CPU飙升问题
- 程序员值得提升的沟通小技巧!
- (转)中国IT界名人