mysql查询(select)进阶之单表查询

一提到关于数据的操作最多的无疑就是增删改查,今天我们一起来复习下mysql的各种查询,从简单到复杂,一方面是回忆技术,另一方面是为了帮助更多才接触mysql的朋友,废话不多说开始。

一,建表,代码如下,可以直接运行

1.分类表
create table category(
	cid varchar(32) primary key,
	cname varchar(100)
);

2.商品表
create table product(
	pid varchar(32) primary key,
	pname varchar(40),
	price double,
	category_id varchar(32)
);

alter table product add foreign key(category_id) references category(cid);


3.添加外键列
alter table product add category_id varchar(32);

4.添加约束
alter table product add constraint product_fk foreign key(category_id) references category(cid);

5.订单表
create table orders(
	oid varchar(32) primary key,
	totalprice double
);

6.订单项表
create table orderitem(
	oid varchar(50),
	pid varchar(50)
);

7.联合主键
alter table orderitem add primary key(oid,pid);

8.订单表和订单项表的主外键关系
alter table orderitem add constraint orderitem_orders_fk foreign key(oid) references orders(oid);

9.商品表和订单项表的主外键关系
alter table orderitem add constraint orderitem_product_fk foreign key(pid) references product(pid);



insert into category(cid,cname) values('c001','家电');
insert into category(cid,cname) values('c002','服饰');
insert into category(cid,cname) values('c003','化妆品');

insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
insert into product(pid,pname,price,category_id) values('p002','海尔','5000','c001');
insert into product(pid,pname,price,category_id) values('p003','雷神','5000','c001');

insert into product(pid,pname,price,category_id) values('p004','JACK JONES','800','c002');
insert into product(pid,pname,price,category_id) values('p005','真维斯','200','c002');
insert into product(pid,pname,price,category_id) values('p006','花花公子','440','c002');
insert into product(pid,pname,price,category_id) values('p007','劲霸','2000','c002');

insert into product(pid,pname,price,category_id) values('p008','香奈儿','800','c003');
insert into product(pid,pname,price,category_id) values('p009','相宜本草','200','c003');

结果如下

 建表完成,忘记说了,表之间的约束关系,建表的代码中有,可以自己画一下图。

现在执行下简单的查询操作,代码形式 select  要查询的字段 from 目标表

执行select * from category  结果如下

 1.1 条件查询  代码格式 select  xxxx from 目标表  where xxxxx

运行select pname as p from product where price > 800;结果如下

 1.2去重复 关键字 distinct

 

 1.3排序查询,两种升序降序 关键字asc  desc

 1.4模糊查询 关键字like   实例,查询名称有"公"的商品信息并且按照价格降序排序

模糊查询有一个问题就是占位符和匹配,这里我没有整理。

1.5函数  求平均值 求和等等 列举 select sum(查询字段) from 目标表 ,如下

 1.6分组查询 关键字 group by

实例1,  根据category_id字段分组,分组后统计商品的个数。

 

 实例2,根据category_id分组,分组统计每组商品的平均价格,并且平均价格大于2000元。

 注意一旦涉及到分组的条件查询关键字就不是where 而是having  如下

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值