专栏首页老雷PHP全栈开发学会常用sql操作语句

学会常用sql操作语句

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] 回滚事务 取消操作

本文分享自微信公众号 - 老雷PHP全栈开发(L362606856),作者:雷日锦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 老雷mysql教程之查询索引优化

    索引顺序 规则:从左往右 最左前缀 where id=1 order by orderindex

    老雷PHP全栈开发
  • 老雷微信小程序教程之开发框架学习

    1.全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置。

    老雷PHP全栈开发
  • 老雷PHP全栈开发教程之vuex

    本节课程内容主要讲解vuex的使用,Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

    老雷PHP全栈开发
  • 金蝶k/3 K3云之家消息查询发送是否成功SQL语句

    landv
  • mysql

        mysqladmin -u root -p ab12 password djg345

    java好学者
  • 经典SQL语句大全之提升

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于S...

    陈珙
  • Oracle查询第m到第n条数据

    这种方法是最优方法,因为该方法进行排序后取值,所以能够保证两次取值都会取出相同的值。

    SuperHeroes
  • 数据库相关

    代码改变世界-coding
  • 挑战进阶级SQL,你能理解几个

    挨踢小子部落阁
  • 架构秘笈:移花接木。使用mysql模拟redis

    这年头,你看到的东西未必就是你认为的东西。一个mysql协议的后面,可能是tidb;一个linux机器后面,可能是一个精简的docker;你觉得xjjdog是个...

    xjjdog

扫码关注云+社区

领取腾讯云代金券