MySql教程

mysql之crud

本文主要是介绍mysql之crud,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、基础查询

1、查询表中的单个字段

select last_name from t_mysql_xx

 2、查询表中的多个字段

select last——name,salary,email from t_mysql_xx

 3、查询常量值

select 100

select 'john'

4、查询表达式

select 100%98 

5、起别名

优点:

1、便于理解

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

方法一:使用as

 select 100%98 as 结果;

select last_name as 姓,first_name名 from t_mysql_xx

 方法二:使用空格

select last_name 姓,first_name 名 from t_mysql_xx

去重

select distinct department_id from t_mysql_xx

3、+号的作用

mysql中的加号仅仅只有一个功能:运算符

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

 select '123'+90  只要其中一方为字符型,试图将字符型数值转换成数值型

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

二、过滤查询

1、逻辑运算符

作用:用于连接条件表达式

&&|| !

and   or   not

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

||或or:只要有一个条件都为true,结果为true,反之为false

!或not:如果连接的条件本身为false,结果为true,反之为false

三、模糊查询

like

特点:一般和通配符搭配使用

通配符:% 任意多个字符,包含0个字符;_ 任意单个字符

如:查询员工名中第三个字符为e,第五个字符为a的员工名和工资

select last_name, salary FROM t_mysql_xx WHERE last_name LIKE '__e_a%';

between and

特点:可以提高语句的简洁度,包含临界值,两个临界值不要调换顺序

如:查询员工编号在100到120之间的员工信息

SELECT * FROM t_mysql_xx WHERE employee_id BETWEEN 100 AND 120;

in

含义:判断某字段的值是否属于in列表中的某一项

特点:

        1、使用in提高语句简洁度
        2、in列表的值类型必须一致或兼容
        3、in列表中不支持通配符

如:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

SELECT last_name, job_id FROM t_mysql_xx WHERE job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');

is null

特点:=或<>不能用于判断null值,is null或is not null 可以判断null值

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

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

SELECT last_name, commission_pct FROM t_mysql_xx WHERE commission_pct IS NULL;

SELECT last_name, commission_pct FROM t_mysql_xx WHERE commission_pct <=>NULL;

3、order by 子句

①、asc:代表的是升序,可以省略
desc:代表的是降序

②、order by子句可以支持 单个字段、别名、表达式、函数、多个字段

③、order by子句在查询语句的最后面,除了limit子句

语法:

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

1、按单个字段排序

SELECT * FROM t_mysql_xx ORDER BY salary DESC

2、添加筛选条件再排序

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

SELECT * FROM t_mysql_xx WHERE department_id>=90 ORDER BY xx_id DESC

3、按表达式排序

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

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

4、按别名排序

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

5、按多个字段排序

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

SELECT * FROM t_mysql_xx ORDER BY salary DESC,xx_id ASC;

四、分组查询
分类:

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

特点:
        1、sum、avg一般用于处理数值型
              max、min、count可以处理任何类型
        2、以上分组函数都忽略null值

        3、可以和distinct搭配实现去重的运算

        4、count函数的单独介绍,一般使用count(*)用作统计行数

        5、和分组函数一同查询的字段要求是group by后的字段

①、简单的使用

SELECT SUM(salary) FROM t_mysql_xx

SELECT AVG(salary) FROM t_mysql_xx
SELECT MIN(salary) FROM t_mysql_xx
SELECT MAX(salary) FROM t_mysql_xx
SELECT COUNT(salary) FROM t_mysql_xx
 

这篇关于mysql之crud的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!