mysql学习+再复习
mysql
函数
单行函数
exists 是否存在
字符函数
concat(a,b)拼接两个字符串
ifnull(a+b,0) 如果a+b等于null,则返回0
upper,lower 大小写转换
select upper(‘abc’);
substr/substring
instr 返回子串第一次出现的索引,如果找不到就返回0
trim 去除字符串前后的空格
replace(str,from_str,to_str)将第一个参数中的字符与第二个相等的字符替换成第三个参数
数学函数
- round 四舍五入
- ceil 向上取整 返回>=该参数的最小整数
- floor 向下取整 返回<=该参数的最大整数
- truncate 截断
- mod取余
日期函数
now 返回当前系统日期+时间
curdate 返回当前系统日期,不i包含日期
curtime 返回当前时间,不包含日期
str_to_date 将日期格式的字符串转换为指定格式的日期
date_formate 将日期转换成字符
DATE_FORMAT('2018/6/6','%年%月%日')
str_todate 将字符转换成日期
STR_TO_DATE(’9-13-1999‘,‘%m-%d-%Y’)
其他函数
流程控制函数
分组函数(统计函数,聚合函数)
sum 求和
avg 平均值
max 最大
min 最小
count 计算个数
count(1)、count(*)查询表中总条数
group by
select 分组函数 列(要求出现在group by 的后边)
from 表 【where 筛选条件】
group by 分组的列表
【order by 子句】
where和having都是用来进行条件筛选的,where 是在分组前进行的,having是在分组后进行筛选的
连接查询
笛卡尔乘积现象:表1 有m行,表2:有n行,结果=m*n行
发生原因:没有有效的连接条件
如何避免:添加有效的连接条件
内连接
- 等值连接
- 非等值连接
- 自连接(同一张表,需要B字段作为A字段的查询条件。所以将同一张表看作两张表进行连接查询)
外连接
应用场景:用于查询一个表中有,另一个表中没有的纪录
特点:1、外连接的查询结果为主表中的所有记录
如果从表中有和他匹配的,则显示匹配的值
如果从表中没有和他匹配,则显示为空
外连接查询结果=内连接查询结果+主表中有而从表中没 有的记录
2、左外连接,left join 左边是主表
右外连接,right join 又表示主表
3、左外和右外交换两个表的顺序,可以实现同样的效果
左外连接
left join
右外连接
right join
全外连接
full join(mysql不支持,大坑)
查两个表的并集
交叉连接
cross join(实现笛卡尔乘积,目前感觉没啥用)
子查询
出现在其他语句中的select语句,成为子查询或内查询
外部的查询语句,称为主查询或外查询
分类:
按子查询出现的位置
select 后面
仅仅支持标量子查询
from 后面
支持表子查询
where或having后面
标量子查询
列子查询
行子查询
exists后面(相关子查询)
表子查询
按结果集的行列数不同:
标量子查询(结果集只有一行一列)
列子查询(结果集只有一列多行)
行子查询(结果集有一行多列)
表子查询(结果集一般为多行多列)
where或having后面
- 标量子查询(结果集只有一行一列)
- 列子查询(结果集只有一列多行)
- 行子查询(结果集有一行多列)
特点:
- 子查询一般放在小括号内
- 子查询一般放在条件右侧
- 标量子查询,一般搭配着单行操作符使用 > < >= <= = <>
列子查询,一般搭配这多行操作符使用
in、any/some、all
in/not in(等于列表中的任意一个)
any|some (和子查询返回的某一个值比较):可以被其他方式替代
all(和子查询返回的所有值比较):可以被其他方式替代
mysql学习+再复习的更多相关文章
- MySQL学习基础
MySQL是被Sun公司收购了,所以也有热咖啡图标,不过MySQL的作者后来又做了一个MariaDB,小海豚图标,也很好用. MySQL学习: <MySQL网络数据库设计与开发>(电子工业 ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
- 我的MYSQL学习心得(十) 自定义存储过程和函数
我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...
随机推荐
- SSRF打认证的redis
redis客户端在向服务端传输数据用到的是RESP协议 客户端向Redis服务器发送一个仅由Bulk Strings组成的RESP Arrays. Redis服务器回复发送任何有效RESP数据类型作为 ...
- Easticsearch概述(API使用)二
Rest简介 一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务端互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制 Rest的操作分为以 ...
- 关于Jmeter线程数Ramp-Up.循环次数的理解和实验数据
1. 关于线程组参数 线程组:即一个线程组实例里面包括多个串行的请求或动作.一个线程组的从启动到结束的时间取决于你线程中的步骤数量. 线程数:即用户数,在Ramp-up时间内(包括循环),简单把线程数 ...
- tomcat容器启动失败疑难问题解决方案
严重: 子容器启动失败java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 初始化组件[or ...
- JDK并发工具类
在JDK的并发包里提供了几个非常有用的并发工具类.CountDownLatch.CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类则提供了在线程 ...
- 什么是Filter过滤器
一,什么是Filter过滤器: JavaWeb三大组件之一 Filter过滤器是JavaEE的规范.也就是接口 Filter过滤器作用:拦截请求,过滤响应 拦截请求常见的应用场景有: 1,权限检查 2 ...
- strace -cp 诊断
strace -c php do.php 各项含义如下: - % time:执行耗时占总时间百分比 - seconds:执行总时间 - usecs/call:单个命令执行时间 - calls:调用次数 ...
- python 小兵内置函数进制转换
Python内置函数进制转换的用法 使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Conve ...
- Markdown学习——Typora入门之常用操作语法及其快捷键
Markdown 学习--Typora入门 Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档. 由于Markdown的轻 ...
- Dapr 和 Azure Functions : Hello world
本篇文章内容来自 https://charliedigital.com/2021/07/01/dapr-and-azure-functions-part-1-hello-world/ ,是按这篇文章的 ...