日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL学习(三)之子句和函数

發布時間:2025/3/15 数据库 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL学习(三)之子句和函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數

COUNT()/計數、MIN()/最小值、MAX()/最大值、AVG()/平均值、SUM()/和

子句

子句是語句的一部分包括WHERE、GROUP、ORDER、LIMIT

  • WHERE:條件

  • GROUP:合并(聚類,其實就是合并相同的)

  • ORDER:排序

  • LIMIT:限制(限制輸出)

WHERE

  • WHERE name='blue'

  • WHERE age>18

  • WHERE age<=18

  • WHERE age>=18 AND score<60

  • WHERE cach>100 OR score>10000

刪-DELETE

DELETE FROM 表 WHERE 條件; 刪除表中指定的一條數據

DELETE FROM?`user_table` WHERE ID='${res.query.id}'; 根據指定的id刪除指定一條數據的所有字段

注意:沒有辦法只刪除一個字段,只能是刪除一行

改-UPDATE

UPDATE 表 SET 字段=值,字段=值,...WHERE 條件;

UPDATE `article_data` SET `n_like=n_like+1` WHERE ID=xxx; 根據指定的id更新指定數據的n_like字段

查-SELECT

SELECT * FROM 表 WHERE 條件;

SELECT * FROM `user_table` WHERE ID='${res.query.id}'; 根據指定的id查詢指定數據的所有字段

注意:不加WHERE就是操作整張表,除了INSERT都可以用WHERE

GROUP

  • GROUP BY class

  • GROUP BY name

查-SELECT

SELECT * FROM 表 GROUP BY 字段;

SELECT * FROM student_table GROUP BY class; 表示以class為依據進行分組,只要是class相同的就一定會合并起來,相同的class只留一條數據,做了一個去重

SELECT class,COUNT(class) FROM student_table GROUP BY class; 只查詢class字段,以class為依據進行分組,并對相同的class進行計數

SELECT class,AVG(score) FROM student_table GROUP BY class; 查詢得到每個班級平均值

SELECT class,MAX(score),MIN(score) FROM student_table GROUP BY class; 查詢得到每個班級最高最低分

SELECT name,SUM(price) FROM sales_table GROUP BY name; ?查詢得到每個人的消費總額

注意:GROUP單獨用沒有什么意義我們應該配合函數來用(COUNT/計數、MIN/最小值、MAX/最大值、AVG/平均值、SUM/和)

ORDER

  • ORDER BY age ASC

  • ORDER BY age?DESC

  • ORDER BY SUM(price)

ASC-升序(從小到大)/DESC-降序(從大到小)

查-SELECT

SELECT * FROM 表?ORDER BY 字段 ASC; ?單一條件排序

SELECT * FROM 表?ORDER BY?字段 ASC ,字段 DESC;?多條件排序

SELECT * FROM student_table?ORDER BY price DESC; 查詢表中數據并以price為準降序排列

SELECT * FROM 表?ORDER BY price ASC, sales DESC; 查詢表中數據并以price為準升序排列,price相同以sales為準降序排列

SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) DESC; ?查詢得到每個人的消費總額按照降序排列

SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) ASC; ?查詢得到每個人的消費總額按照升序排列

LIMIT

  • LIMIT 10; 前10條

  • LIMIT 5,8; 從5開始,要8個

查-SELECT

SELECT * ?FROM 表 LIMIT 數字;

SELECT * ?FROM student_table?LIMIT 2; 查詢表中的前兩條數據

分頁

方法一:所有數據給前端,前端來控制每頁數據(數據量大不靠譜)

方法二:后臺只給一丁點數據,后端來控制每頁數據(實際上就是在數據庫里就限制)

使用方法二如果想要做分頁,每頁20條數據:

  • 第1頁 limit 0,20 0~19

  • 第2頁 limit 20,20 20~39

  • 第3頁 limit?40,20

  • 第n頁 limit?(n-1)*20,20

子句之間的順序

子句之間是有順序的:WHERE GROUP ORDER LIMIT

注釋:沒有的可以不寫

實例:

SELECT class,COUNT(class) FROM student_table

WHERE score>60

GROUP BY class

ORDER BY COUNT(class) DESC

LIMIT 2;

轉載于:https://www.cnblogs.com/kunmomo/p/11448063.html

總結

以上是生活随笔為你收集整理的SQL学习(三)之子句和函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。