【mysql】mysql中基本的增删改差操作案例

一、====sql语句(增删改查CURD)====

select * from 表名 where 条件 (/order by .../ limit ... /group by ...)     =>(既有* 又有from)
delete form 表名 where 条件      =>(没有* 只有from)
update 表名 set 字段='值' where 条件    =>(既没有*又没有from)
insert into 表名(字段1,字段2,...)  values('值1','值2',...)  =>(特殊与上面三种格式不同)

联合查询
三种:左连接查询 left join on (=>以左表为基准)
      右连接查询 right join on)(=>以右表为基准)
      内连接查询 (inner) join on  (=>两个表为基准,即两个表都存在的数据。)、
例如:
select * from tb_admin a (left/right/inner) join on tb_powergroup p on a.powergroup=p.powergroup;

 
 二、===sql语句中常用函数===
1.length(字段名)  计算长度。
2.avg(字段名)   计算某一个字段的平均值。
3.max(字段名) / min(字段名)  求最大值 / 求最小值
4.concat(字段名1,字段名2)  将两个字符串连接起来。
5.md5() 加密。

例子:
1、查询用户表tb_user中姓名是3个字并且姓王,年龄大于30,性别男。

select * from tb_user where username like '王%' and length(username)=6 and age>30 and sex=0; (若是gbk编码,一个汉字则占两个字节。若是utf-8,一个汉字占3个字节。)
(用到1模糊查询like 。2、获取某个字段长度length()函数。3、where后的每个条件之间用and连接)

2、把商品表tb_goods中的 vip_price价格改为本站价格shop_price和市场价格market_price的平均值的80%。

update tb_goods set vip_price=(shop_price+market_price)/2*0.8;
(用到1、浮点型数据之间的运算。2、sql语句中不能用80%,因为%有特定含义,需写为0.8即可。)

 

3、把用户表tb_user中pwdquestion的值改为pwdanswer的值加pwdquestion的值。

update tb_user  set pwdquestion=concat(pwdanswer,pwdquestion);
(用到字符串数据类型之间的运算用concat()函数)

4、查询用户表tb_user中年龄最大用户的用户名和email。

select username,email from tb_user where age=(select max(age) from tb_user);
(用到1、嵌套查询。2、获取最大值max()函数因为它是组函数所以后面必须对age进行分组。)

5、查询商品表tb_goods中shop_price在4000到5000之间,并且是诺基亚品牌的商品。

第一种方法:
select * from tb_goods where shop_price between 4000 and 5000 and goods_brandid=(select id from tb_brand where brand_name='诺基亚');
第二种方法:(联合查询的方法=> 安全性高,执行效率快)
select * from tb_goods g join tb_brand  b on g.goods_brandid=b.id where g.shop_price between 4000 and 5000 and b.brand_name='诺基亚';

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值