• 我转过几个弯 绕过那个小雨楼
  • 拿着蒲扇摆着衣衫渡着紧箍咒
  • 不问天涯不停留 喝过几壶酒
  • 不过年少白头道义放胸口
  • 倘若明天之后 遥看前尘剑封侯
  • 似那天上神仙无所求
  • 朝朝暮暮君如梦醒十分不为何理由
  • 是真是假是惶恐是无休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 又过了几个弯 算尽天量道莫慌
  • 踏这田园闻这芳草香
  • 跌跌撞撞仗剑天涯折煞不枉无笔良
  • 是梦是幻是温柔是家乡
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 谁能与我一醉方休

SQL 语句

257 0

增删改查

删 DELETE

删除没有删除某一个列(字段的)概念,删除就是删除一行,通过WHERE条件语句进行查找筛选

DELETE FROM 表名 WHERE 条件

增 INSERT

INSERT INTO 表名 (字段列表) VALUES(值列表)

改 UPDATE

UPDATE 表名 SET 字段=值,字段=值,字段=值...

改在不使用WHERE的时候,操作的是整个表,而不是表中的某一行

UPDATE 表名 SET 字段=值,字段=值,字段=值... WHERE 条件

查 SELECT

SELECT * FROM 表名

这样表示获取整个表的数据

SELECT * FROM 表名 WHERE 条件

子句

WHERE 筛选

WHERE name=“blue”
WHERE age>18
WHERE age<=18
WHERE age>18 AND score<60
WHERE cach>100 OR score>10000

AND 和正则里面的&&相同,OR 则和||相同

ORDER 排序

ORDER BY age ASC/DESC

ASC  升序,从小到大
DESC  降序,从大到小

如果以价格升序排列,如果有产品相同的价格,就按照销量来进行降序,也就是卖的多的在前面

ORDER BY price ASE,sales DESC

GROUP 聚类---合并相同

GROUP单独使用只会有去重,当配置COUNT()的时候,会有计数的效果

SELECT * FROM test GROUP BY age
这样只会得到去重的age

SELECT *,COUNT(age) FROM test GROUP BY age

这样就会得到相同的age出现了几次
age  count
14   2
15    1
16    2

求几个班的平均分

平均分的字段名为score,班级字段为class

SELECT class,AVG(score) FROM test GROUP BY class;

利用GROUP将班级去重,AVG则计算得到每个班级的score的平均数。

最高分和最低分

SELECT class,MAX(score),MIN(score) FROM test GROUP class;

通过MAX和MIN取得最高score和最低score

总和

三个人多次购买,如何得到他们每个人购买的总和,已知name字段为名字,price为购买的金额字段

SELECT name,SUM(price) FROM test GROUP BY name

得到一个以总金额的从大到小排列

SELECT name,SUM(price) FROM test GROUP BY name ORDER BY SUM(price) DESC

从小到大就是

SELECT name,SUM(price) FROM test GROUP BY name ORDER BY SUM(price) ASC

LIMIT 限制输出

一般用于分页,因为数据太多的话,不可能全部输出给前端。

两种方式:

  1. LIMIT 10; 这样表示获取10条数据,从第一条开始
  2. LIMIT 5,8; 这样表示从第5条开始获取8条数据

注意: 子句之间也是有顺序的: WHERE GROUP ORDER LIMIT

WHERE 高级用法

同一个字段,多个值匹配

WHERE 字段 in (条件1,条件2,条件3,...)

多个字段,同一个值

主要用于搜索,搜索这几个字段里是否包含了某个字

'SELECT * FROM 表名 WHERE 字段1 LIKE 条件 OR 字段2 LIKE 条件 OR 字段3 LIKE 条件 ORDER BY id ASC'

这个如果需要转义的话可以这样写

 await ctx.db.query('SELECT * FROM book_mark WHERE title LIKE ? OR subtitle LIKE ? OR href LIKE ? ORDER BY id ASC', [`%${str}%`, `%${str}%`, `%${str}%`]);

多个条件用OR连接,类似正则||

如果是AND连接,和正则&&一个意思

0
  • 本文分类:Node
  • 本文标签:sql
  • 流行热度:已超过 257 人围观了本文
  • 最后更新:2020年09月2日 - 23时42分33秒
  • 发布日期:2020年08月11日 - 22时58分00秒
  • 版权申明:本文系作者@木灵鱼儿原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

相关文章

微信收款码
微信收款码