数据库基本操作命令大全--(一)

select [distinct] [ * ] [列名1,列名2] from 表名 [where 条件]
distinct : 去除重复的数据
select distinct sex from student;      --  男/女
--商品分类:手机数码,鞋靴箱包
1.分类的ID
2.分类名称
3.分类描述

create table category(
	cid int primary key auto_increment,
    cname varchar(10),
    cdesc varchar(31)
);

insert into category values(null,'手机数码','电子产品,黑马生产');
insert into category values(null,'鞋靴箱包','江南皮革厂');
insert into category values(null,'香烟酒水','江南皮革厂');
insert into category values(null,'酸奶饼干','江南皮革厂');
insert into category values(null,'馋嘴零食','瓜子花生');

--所有商品
1.商品id
2.商品名称
3.商品的价格
4.生产日期
5.商品分类的id

商品和商品的分类:所属关系
create table product(
	pid int primart key auto_increment,
    pname varchar(10),
    price double,
    pdate timestamp,
    con int
);

insert into product values(null,'小米mix4',998,null,1);
insert into product values(null,'锤子',2888,null,1);
insert into product values(null,'阿迪',99,null,2);
insert into product values(null,'老村长',88,null,3);
insert into product values(null,'劲酒',35,null,3);
insert into product values(null,'安慕希',78,null,4);
insert into product values(null,'卫龙',1,null,5);
insert into product values(null,'小熊饼干'null,5);
insert into product values(null,'三只松鼠',132,null,5);



--简单查询
--查询所有的商品:
select * from product;


--查询商品名称和商品价格

select pname,price from product;

--别名查询,as 关键字,as关键字是可以省略的
	--表别名:selece p.pname,p.price from product p;(主要用在多表查询);
	
	--列别名:select pname as 商品名称,price as 商品价格 from product;
	select pname as 商品名称,price as 商品价格 from product;
    省略关键字
    select pname 商品名称,price 商品价格 from product;
--去 掉重复的值
	--查询商品所有的价格
	select prict from product;
	select distinct price product;
--select运算查询:仅仅在查询结果上做了运算 + - * /
	select *,price*1.5 from product;
	select *,price*1.5 as 折后价 from product;
	
	select *,price*0.9 from product;
	
--条件查询(where关键字)
	指定条件,确定要操作的记录
--查询商品价格>60元的所有商品信息
	select * from product where price > 60;
	
--where 后的条件写法
	--关系运算符: > >= < <= = != <>
	<> :不等于 : 标准SQL语法
	!= :不等于:  非标准SQL语法
	--查询商品价格不等于88的所有商品
	select * from product where price <> 88;
	
	--查询商品价格在10到100 之间
	select * from product where  price > 10 and price < 100;
	
	between...and...
	select * from product where price between 10 and 100;
	--逻辑运算: and , or , out
	
	--查询出商品价格小于35 或者商品价格大于900
	select * from product where price < 35 or price > 900;
	
	--like : 模糊查询
	_:代表的是一个字符
	
	%:代表的是多个字符
	--查询出名字中带有饼的所有商品
	select * from product where pname like '%饼%';
	--查询第二个名字是熊的所有商品
	select * from product where pname like '_熊%';
	
	--in 在某个范围中获得值
		--查询出商品分类ID在1,4,5里面的所有商品
		select * from product where cno in (1,4,5);                                              --查询出商品分类ID不在 3 里面的所有商品
         select * from product where con not in (3);
--排序查询:order by 关键字

	asc: ascend 升序(默认的)
	desc: descend 降序
	
	--0.查询所有商品,按照价格进行排序
	select * from product order by  price;
	--1.查询所有的商品,按价格进行降序排序(asc-升序  desc-降序);
	select * from product order by  price desc;
	--2.查询名称有  小 ,按价格降序排序
     select * from product where pname like '%小%';
     select * from product where pname like '%小%' order by price asc;
	
     --组合排序  :先按第一个字段进行排序,如果第一个字段相同,才按第二个字段进行排序,
     --查询价格升序,如果价格相同,按分组(con)降序排序
      select * from product order by price asc, con desc;
--聚合函数:
     sum()  求和
     avg()  求平均值
     count():统计数量
     max:最大值
     min():最小值              
     --1.获得所有商品价格的总和:
     select sum(price) from product; 
     --2.获得所有商品的平平均价格
     select avg(price) from product;               
     --3.获得所有的商品的个数,值为NULL跳过。
     select count(*) from product;  
     --4.获得所有商品的个数,如果值为 NULL 时也计入统计。
     select count(ifnull(price,0)) from product;     
                   
	--注意:where 条件后面不能接聚合函数
     select * from product where price > avg(price);  
     --查出商品价格大于平均价格的所有商品
     查出所有商品
     select * from product;
     大于
  	 平均价格
     select avg(price) from product;
                   
     select * from product where price > avg(price);
     转换后的格式为: -- 
     select * from product where price >( select avg(price) from product ); 
     
                   
--分组:group by
     --1.根据con字段分组,分组后统计商品个数
         select cno,count(*)
          from product grop by cno;
     --2.根据con分组,分组统计每组商品的平均价格 , 并且商品平均价格 > 60
         select  avg(price)
     	 from product group by cno
         having avg(price) > 60;
     --3.根据con分组,分组统计每组商品的个数,并且商品的价格要大于50;
         select count(pid),con from product where price > 50 group by con;          
                   
     --##having关键字可以接聚合函数的  出现在分组之后
        -- having与where的区别
                having是在分组后对数据进行过滤.
                where是在分组前对数据进行过滤
                having后面可以使用聚合函数
                where后面不可以使用聚合函数
--限制:limit语句   LIMIT 是 限制 的意思,所以 LIMIT 的作用就是限制查询记录的条数。
        --1.查询所有商品,从第三条开始显示,显示六条(如果不够六条,有多少显示多少。如果第一个参数是0可以简写)
              	select * from product limit 2,6;
                   
--编写顺序               
-- s..f..w..G..H..o
   select .. from .. where .. group by .. having .. order by           

--执行顺序
   F..W..G..H..S..O
   from .. where ..group by .. having .. select .. order by               
   得到这个表 .. 条件判断 .. 还是这个表再进行分组 .. 再做一个条件筛选 .. 最后进行控制显示 .. 显示的结果再去排序            
        

 

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库基本操作命令包括修改数据库表中的数据、删除数据表中的指定记录和删除数据表中的所有记录。修改数据库表中的数据可以使用update命令,语法为"update 数据库.表名称 set 字段名称1=字段数值1, 字段名称2=字段数值2 where 条件表达式"。例如,可以使用"update auth.user set user_passwd=password('123456789') where user_name='lisi'"来修改auth数据库中user表中user_name为'lisi'的记录的user_passwd字段的值为加密后的'123456789'。删除数据表中的指定记录可以使用delete命令,语法为"delete from 数据库.表名称 where 条件表达式"。例如,可以使用"delete from auth.user where user_name='lisi'"来删除auth数据库中user表中user_name为'lisi'的记录。删除数据表中的所有记录可以使用truncate table命令或delete from命令。truncate table命令的语法为"truncate table 表名称",不可以跟条件进行删除。例如,可以使用"truncate table class_id"来删除class_id表中的所有记录。delete from命令的语法为"delete from 数据库名称.表名称",可以跟条件进行删除,使用更灵活。创建临时表是数据库的另一个操作,但不属于基本操作命令。 #### 引用[.reference_title] - *1* *2* *3* [数据库基本操作命令](https://blog.csdn.net/weixin_49226813/article/details/109425002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值