MySQL之CURD

一:基础查询

1.特点:

(1)查询列表可以是:表中的字段、常量值、表达式、函数

(2)查询的结果是一个虚拟的表格

2.语法:

select 查询列表 from 表名;





类似于:System.out.println(打印东西);

3.查询表中的单个字段

Select 字段名 from 表名;

 4.查询表中多个字段

SELECT 多个字段,字段2,..... FROM 表名;

 3.查询表中的所有字段

(1)方式一:

Select 字段1,字段2,字段2....(所有字段) from 表名

 (2)方式二:

select *(所有) from 表名

 5.查询常量值

select 520;

 

 6.查询表达式

select 100%98

 7.查询函数

SELECT VERSION();

 

 8.起别名

①便于理解

②如果要查询的字段有重名的情况,使用别名可以区分开来

 方式一:使用as

SELECT last_name 姓,first_name 名 FROM t_mysql_employees;

 

 方式二:使用空格

SELECT last_name 姓,first_name 名 FROM t_mysql_employees;

 

9.去重DISTINCT 

#案例:查询员工表中涉及到的所有的部门编号 SELECT DISTINCT department_id FROM t_mysql_employees;

 10.+号的作用

java中的+号:

①运算符,两个操作数都为数值型

②连接符,只要有一个操作数为字符串

mysql中的+号:

仅仅只有一个功能:运算符

select 100+90; 两个操作数都为数值型,则做加法运算

select '123'+90;只要其中一方为字符型,试图将字符型数值转换成数值型 如果转换成功,则继续做加法运算

select 'john'+90;如果转换失败,则将字符型数值转换成0

select null+10; 只要其中一方为null,则结果肯定为null

 二、过滤查询

1.语法:

select 查询列表 from 表名 where 筛选条件;

2.分类 :

(1)按条件表达式筛选·

简单条件运算符:> < = != <> >= <=

 #案例:查询部门编号不等于90号的员工名和部门编号
​SELECT last_name, department_id FROM t_mysql_employees WHERE department_id<>90;

2)按逻辑表达式筛选

逻辑运算符:&&   ||   !  and or not
作用:用于连接条件表达室

案例:查询工资z在10000到20000之间的员工名、工资以及奖金

SELECT last_name,salary,commission_pct FROM t_mysql_employees WHERE salary>=10000 AND salary<=20000;

 另:&&和and:两个条件都为true,结果为true,反之为false

||或or: 只要有一个条件为true,结果为true,反之为false
!或not: 如果连接的条件本身为false,结果为true,反之
为false

三、模糊查询

表达式:

(1)like  模糊
(2)between and  在。。。之间
(3)in   判断某字段的值是否属于in列表中的某一项
(4)is null | is not null  判断是否为空

 (5)安全等于<=>

对比is null

IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
<=>   :既可以判断NULL值,又可以判断普通的数值,可读性较低

 案列:查询没有奖金的员工名和奖金率

 

三、排序查询
1.ORDER BY 子句
语法:

select  查询列表 from 表名【where 筛选条件】 order by 排序的字段或表达式;

特点: 

1、asc代表的是升序,可以省略
     desc代表的是降序​
2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段
3、order by子句在查询语句的最后面,除了limit子句

分类: 
(1)按单个字段排序

SELECT * FROM t_mysql_employees ORDER BY salary DESC;

 

 (2)添加筛选条件再排序

#案例:查询部门编号>=90的员工信息,并按员工编号降序

SELECT * FROM t_mysql_employees WHERE department_id>=90 ORDER BY employee_id DESC;

(3)按表达式排序

案例:查询员工信息 按年薪降序


SELECT *,salary*12*(1+IFNULL(commission_pct,0)) FROM t_mysql_employees ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;

(4)按别名排序

#案例:查询员工信息 按年薪升序

SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪  FROM t_mysql_employees ORDER BY 年薪 ASC;

(5)按函数排序

#案例:查询员工名,并且按名字的长度降序

SELECT LENGTH(last_name),last_name FROM t_mysql_employees ORDER BY LENGTH(last_name) DESC;

(6)按多个字段排序

#案例:查询员工信息,要求先按工资降序,再按employee_id升序

SELECT *  FROM t_mysql_employees ORDER BY salary DESC,employee_id ASC;

分组查询

功能:用作统计使用,有称为聚合函数或统计函数或组函数

分类:

sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数

举例:简单 的使用
SELECT SUM(salary) FROM 表名;
SELECT AVG(salary) FROM 表名;
SELECT MIN(salary) FROM 表名;
SELECT MAX(salary) FROM 表名;
SELECT COUNT(salary) FROM 表名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值