前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学会常用sql操作语句

学会常用sql操作语句

作者头像
老雷PHP全栈开发
发布2020-07-02 14:46:41
3110
发布2020-07-02 14:46:41
举报

1.curd

insert table set a=1,b='daad'
update table set a=3,b='阿达' where id=3
delete from table where id=3

SELECT fields

FROM table

[WHERE...]

]

[GROUP BY...]

]

[HAVING...]

]

[ORDER BY...]

]

2.常用的查询

select * from table where id=1;
select * from table where order by id DESC limit 1,24;
select id,title from table where status=1 order by id DESC,status ASC

limit 10,24;

3.where 条件运算符

= 等于

!= 不等于

<> 不等于

> 大于 id>3

< 小于

>= 大于等于

<= 小于等于

BETWEEN 在某个范围内 between 1 and 3

LIKE 搜索某种模式 模糊匹配 title like '%中国%' '中国%' '%中国'

IN 指定针对某个列的多个可能值 in(1,2,3)

4.常用函数

COUNT() - 返回行数

AVG() - 返回平均值

MAX() - 返回最大值

MIN() - 返回最小值

SUM() - 返回总和

DISTINCT - 返回不重复的

  select count(*) from table ;//返回记录数
  select sum(money) as money from table ;//返回综合
  select distinct(title) from table ;//返回不重复的数据

5.group by having 分组语句

select sum(money) as total_money from table as t  group by userid having sum(money)>1000 order by total_money DESC ;

where 和 having 的区别

HAVING子句可以引用总计函数,而WHERE子句不能引用

4.LEFT JOIN 和 RIGHT JOIN 运算

用 LEFT JOIN 运算 创建左边外部联接.左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

用RIGHT JOIN 运算 创建 右边外部联接.右边外部联接将包含了从第二个(右边)开始的两个表中的全部记录,即使在第一个(左边)表中并没有匹配值的记录。

  SELECT a.CategoryName,
  b.ProductName,a.CategoryID
  FROM Categories as a LEFT JOIN Products as b
  ON Categories.CategoryID = Products.CategoryID;

选出所有分类 即使 该分类没有产品

  SELECT a.CategoryName,
  b.ProductName,a.CategoryID
  FROM Products as b LEFT JOIN Categories as a
  ON Categories.CategoryID = Products.CategoryID;

选出所有产品 即使 该产品没有分类

5.union语法

创建一个联合查询,它组合了两个或更多的独立查询或表的结果。

  select * from table where id>6
  union
  select * from table where id<10
  order by id desc

6.子查询

SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2 limit 1);
SELECT * FROM t1 WHERE column1 in (SELECT column1 FROM t2);
SELECT * from sky_demo where  exists (select(id) from sky_demo)

7.TRANSACTION 用于启动和结束显式事务。

innodb表 保持数据一致性

atm机 银行卡扣了钱 钱没吐出来

BEGIN TRANSACTION 启动新事务. $db->begin();

COMMIT [TRANSACTION | WORK] 处理成功 提交事务

ROLLBACK [TRANSACTION | WORK] 回滚事务 取消操作

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老雷PHP全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档