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学习心 ...
随机推荐
- [WPF] 用 Effect 实现线条光影效果
1. 前言 几个月前 ChokCoco 大佬发布了一篇文章: CSS 奇技淫巧 | 妙用 drop-shadow 实现线条光影效果 在文章里实现了一个发光的心形线条互相追逐的效果: 现在正好有空就试试 ...
- 学习javaScript必知必会(3)~数组(数组创建,for...in遍历,辅助函数,高级函数filter、map、reduce)
一.数组: 1.js是弱语言,js中的数组定义时:不用指定数据类型.不用功指定数组长度:数组可以存储任何数据类型的数据 2.数组定义的[ ] 的实质: [] = new Array(); {} = n ...
- Cesium中级教程2 - 图层
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium支持从几个标准服务绘制和添加高分辨率图像(地图)图层 ...
- uniapp如何生成自己的小程序码并且携带参数
生成小程序码需要用到的参数appId appSecret这两个参数可以再微信公众平台里面登录获取 也可以用测试号里面的获取小程序码步骤1.首先要请求官方的API`https://api.weixin ...
- 常用字符的ASCII码
字母 ASCII码 十进制数 0 00110000 48 9 00111001 57 A 01000001 ...
- TeXstudio在右边显示预览
打开预览界面后: 点击查看(View) 选择最后一个:窗口/内嵌(Windowed/Embedded) 就可以了
- gin中自定义中间件
package main import ( "github.com/gin-gonic/gin" "log" "time" ) func L ...
- 为什么ConcurrentHashMap是线程安全的?
ConcurrentHashMap 是 HashMap 的多线程版本,HashMap 在并发操作时会有各种问题,比如死循环问题.数据覆盖等问题.而这些问题,只要使用 ConcurrentHashMap ...
- django入门 02 初探app、view、url、templates、static
创建APP命令 python manage.py startapp myapp app组成介绍 如上图,在终端中展示树状结构-- windows为 tree /f macOS为 tree 注册APP ...
- Rock Pi开发笔记(一):Rock Pi系列arm产品方案快速落地方案介绍
前言 开发RK3399等相关的项目和产品做评估,最近发现Rock Pi4是一个很好的评估版,价格合适,能满足评估的开发,像树莓派一样留出来引脚接口,是很好的快速落地arm系列产品和项目的较好方案选 ...