没有合适的资源?快使用搜索试试~ 我知道了~
DQL 进阶1:基础查询 select 查询列表 from 表名; mysql中的+号: 仅仅只有一个功能:运算符 select 100+90; 两个操作数都为数值型,则做加法运算 select ‘123’+90;只要其中一方为字符型,试图将字符型数值转换成数值型 如果转换成功,则继续做加法运算 select ‘john’+90;如果转换失败,则将字符型数值转换成0 select null+10; 只要其中一方为null,则结果肯定为null 解决:查询员工名和姓连接成一个字段,并显示为 姓名 SELECT CONCAT('a','b','c') AS 结果;//abc 进阶2:条件查询
资源推荐
资源详情
资源评论
数据库基础知识整理数据库基础知识整理
DQL
进阶进阶1:基础查询:基础查询
select 查询列表 from 表名;
mysql中的+号:
仅仅只有一个功能:运算符
select 100+90; 两个操作数都为数值型,则做加法运算
select ‘123’+90;只要其中一方为字符型,试图将字符型数值转换成数值型
如果转换成功,则继续做加法运算
select ‘john’+90;如果转换失败,则将字符型数值转换成0
select null+10; 只要其中一方为null,则结果肯定为null
解决:查询员工名和姓连接成一个字段,并显示为 姓名
SELECT CONCAT('a','b','c') AS 结果;//abc
进阶进阶2:条件查询:条件查询
语法:
select 查询列表 from 表名 where 筛选条件;
分类:
一、按条件表达式筛选
简单条件运算符:> < = != >= <=
二、按逻辑表达式筛选
逻辑运算符:
作用:用于连接条件表达式
&& || !
and or not
&&和and:两个条件都为true,结果为true,反之为false
||或or: 只要有一个条件为true,结果为true,反之为false
!或not: 如果连接的条件本身为false,结果为true,反之为false
三、模糊查询
like % _
between and
in
is null
特点:
1.like 一般和通配符搭配使用
% 任意多个字符,包含0个字符
_ 任意单个字符
2.between and
①使用between and 可以提高语句的简洁度
②包含临界值
③两个临界值不要调换顺序
3.in
含义:判断某字段的值是否属于in列表中的某一项
特点:
①使用in提高语句简洁度
②in列表的值类型必须一致或兼容
③in列表中不支持通配符
4、is null
=或不能用于判断null值
is null或is not null 可以判断null值
5.安全等于
既可以判断NULL值,又可以判断普通的数值,可读性较低
进阶进阶3:排序查询:排序查询
语法:select 查询列表from 表名 where 筛选条件 order by 排序的字段或表达式;
特点:
1、asc代表的是升序,可以省略,desc代表的是降序
2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段
3、order by子句在查询语句的最后面,除了limit子句
进阶进阶4:常见函数:常见函数
概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名
好处:1、隐藏了实现细节 2、提高代码的重用性
调用:select 函数名(实参列表) 【from 表】;
分类:
1、单行函数
如 concat、length、ifnull等
2、分组函数
功能:做统计使用,又称为统计函数、聚合函数、组函数
单行函数单行函数
字符函数:
length:获取字节个数(utf-8一个汉字代表3个字节,gbk为2个字节)
concat(str1,str2):拼接字符串str1,str2
substr()
instr()
trim()
upper(str)/lower(str):将字符串大写或小写
lpad/rpad
replace
数学函数:
round:四舍五入
ceil:向上取整,返回>=该参数的最小整数
floor: 向下取整,返回<=该参数的最大整数
truncate:截断,把小数点全部删掉 truncate(1.33232,1) 保留小数点后一位
mod(num1,num2): num1模于num2
日期函数:
now:返回当前系统日期+时间 //2020-02-23 19:14:26
curdate:返回当前系统日期,不包含时间 //2020-02-23
curtime:返回当前时间,不包含日期 //19:14:26
year
month
monthname
day
hour
minute
second
str_to_date
date_format
其他函数:
version 查看版本
database 查看当前数据库名字
user 查看当前用户
控制函数
if
case
1.substr、substring
注意:索引从1开始
截取从指定索引处后面所有字符
SELECT SUBSTR('李莫愁爱上了陆展元',7) out_put;
截取从指定索引处指定字符长度的字符
SELECT SUBSTR('李莫愁爱上了陆展元',1,3) out_put;
2.instr 返回子串第一次出现的索引,如果找不到返回0
SELECT INSTR('杨不殷六侠悔爱上了殷六侠','殷八侠') AS out_put;
3.trim 删除空格,或者指定字符串
SELECT LENGTH(TRIM(' 张翠山 ')) AS out_put;
SELECT TRIM('a' FROM 'aaaa张aaaaaaaaaaaa翠山aaaaaaa');
4.lpad 用指定的字符实现左填充指定长度 rpad右填充
SELECT LPAD('殷素素',2,'*') AS out_put;
5.replace(str,oldStr,newStr) 替换 将str中的所有oldStr换成newStr
SELECT REPLACE('周芷若周芷若张无忌爱上了周芷若','周芷若','赵敏') ;
日期函数日期函数
可以获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR(NOW()) 年; //2020
SELECT YEAR('1998-1-1') 年; //1998
SELECT YEAR(hiredate) 年 FROM employees;
SELECT MONTH(NOW()) 月; //2
SELECT MONTHNAME(NOW()) 月; //February
str_to_date 将字符通过指定的格式转换成日期
SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d');//1998-03-02
查询入职日期为1992–4-3的员工信息
SELECT * FROM employees WHERE hiredate = '1992-4-3';
SELECT * FROM employees WHERE hiredate = STR_TO_DATE('4-3 1992','%c-%d %Y');
date_format 将日期转换成字符
SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;
datediff(‘1999-1-1’,‘2000-1-1’) 结果小于0 //用于判断日期谁大谁小
流程控制函数流程控制函数
1.if函数:
SELECT IF(10<5,‘大’,‘小’);//就像三目运算符
2.case函数的使用一: switch case 的效果
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
else 要显示的值n或语句n;
end
案例:查询员工的工资,要求
部门号=30,显示的工资为1.1倍,部门号=40,显示的工资为1.2倍
其他部门,显示的工资为原工资
SELECT salary,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
ELSE salary
END AS 新工资
FROM employees;
剩余13页未读,继续阅读
资源评论
weixin_38645669
- 粉丝: 9
- 资源: 960
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功