DQL命令-基础操作

2020-10-10  本文已影响0人  木木郡主

基础操作,简单查询,比较运算,逻辑运算,排序查询,分组查询,分页查询,复制数据到已存在的表格

简单查询

create table products(pid int,pname varchar(20),price double);
select * from products;
select pname,price from products;  *//查询商品名和价格*
select * from products as p; *// 表别名
select pname as pn from prducts;
select distinct price from products; *//去重复
select pname,price+10 from products; *//查询结果是表达式,将所有商品的价格+10元进行显示

条件查询

比较运算符

< >= <= = <> !=
between....and.... 区间(包含头尾)
IN(set) 显示在in列表中的值,例如:in(100,200)

LIKE '张%' LIKE '%涛%' 模糊查询,Like语句中,% 代表零个或多个任意字符, _代表一个字符,例如: first_name like '_a%';

IS NULL 判断是否为空
IS NOT NULL

逻辑运算符

and 多个条件同时成立
or 多个条件任一成立
not 不成,where not(salary>100);

select * from products where pname like '%果';

排序查询

order by 将查询的结果进行排序,暂时放置在select的后面
select * from 表名 order by 排序字段 ASC|DESC;
ASC 升序(默认)
DESC 降序

image.png

select * from products order by price,pid;
select distinct price from products order by price;

聚合查询

聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个单一的值,聚合函数会忽略空值。

cont() 统计指定列不为NULL的记录行数
   select count(*或者1或者字段名) from products;  *//在统计某一列时,如果值为null,那么这条不统计;*
sum() 计算指定列的数值和,如果指定列类型不是数值,那么计算结果为0;
   select sum(price) from products;  *//只能计算数值型,非数值无意义//*
max() 计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
   select max(price) from products;
min() 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序计算;
  select min(price) from products;
avg() 计算指定列的平均值,如果指定列类型不是数值,那么计算结果为0;
  select avg(price) from products;
  select min(price),max(price) from products;

分组查询

having和where 的区别:

having是对分组后的数据进行过滤,where后面不可以使用分组函数;
分组之后,select后面只能跟分组字段 和聚合函数

SQL语句的执行顺序

form>where>group by>聚合函数>having>select

分页查询 limit

limit M,N
N表示每页要显示多少条
M表示,起始索引值,从第几条开始显示
每页显示5条
第1页: limit 0,5
第2页: limit 5,5
第3页: limit 10,5
第4页: limit 15,5
第5页: limit 20,5
....
第10页: limit (10-1)*5,5
查询表的前5条数据:
select * from products limit 0,5

insert into select 语句

从一个表中复制数据,然后把数据插入到已存在的表中
insert into product2 select id,pname from products where pname=‘华为’;

上一篇 下一篇

猜你喜欢

热点阅读