SQL-DML、DQL

1 DML 增删改

1.1 INSERT

  1. 指定字段添加数据:INSERT INTO 表名 (字段名1, 字段名2) VALUES (值1, 值2);
  2. 全部字段添加数据:INSERT INTO 表名 VALUES (值1, 值2, ...);
  3. 批量添加数据(指定字段):INSERT INTO 表名 (字段名1, 字段名2) VALUES (值1, 值2), (值1, 值2);
  4. 批量添加数据(全部字段):INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...);

1.2 UPDATE

UPDATE table_name
SET column1 = value1, column2 = value2, …
WHERE condition;

1.3 DETELE

DELETE FROM table_name
WHERE condition;

当没有where条件时,即为删除所有记录

2.DQL 单表

SELECT column1, column2, …
FROM table_name;

SELECT DISTINCT 语句用于返回唯一不同的值。

SELECT DISTINCT column1, column2, …
FROM table_name;

条件查询 WHERE

SELECT column1, column2, ...
FROM table_name
WHERE condition;

参数说明:

  • column1, column2, …:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。

除了常用运算符外还有:

  • BETWEEN minval AND maxval 在某个范围之内(包含最小最大值)
  • in(v1,v2,…)符合列表内的值
  • LIKE 占位符 模糊匹配(_匹配单个字符,%匹配多个字符)
  • is (not)null 注意null不用=

聚合函数:

配合分组查询使用

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和
  • null不参与所有聚合函数运算

分组查询 group by

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
  • where 与 having:
    • 执行时机不同,where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
    • 判断条件不同:where不能对聚合函数进行判断,而having可以。
  • 分组之后,查询到字段一般为聚合函数和分组字段,查询其他字段没有意义。
  • 执行顺序:where >聚合函数 > having

排序查询 ORDER BY

 SELECT 字段列表
 FROM 表名
 [WHERE 条件列表]
 [GROUP BY 分组字段]
 ORDER BY 字段1 排序方式1,字段2 排序方式2...;

排序方式(2种):ASC 升序( 默认) / DESC 降序

分页查询 LIMIT

select 字段列表 from 表名 limit 起始索引,每页记录数;
  • 起始索引默认从0开始,起始索引=(查询页码-1)*每页记录数。
  • LIMIT是MYSQL的,不是SQL的。
  • 查询第一页起始索引可以省略。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇