Java essay Java essay
首页
  • Java基础
  • Java进阶
  • 设计模式
  • 多线程
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • AI技术
  • 工具
  • Vue
  • 小程序
  • 博客搭建
  • 数据库
  • python
  • 大数据
  • 性能分析优化
  • 中间件
  • 云原生
  • 面试
  • 外卖霸王餐
  • 打工人的带饭生活
  • 30岁我该怎么办
友链
关于我
GitHub (opens new window)

Mr.Fire

全栈工程师
首页
  • Java基础
  • Java进阶
  • 设计模式
  • 多线程
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • AI技术
  • 工具
  • Vue
  • 小程序
  • 博客搭建
  • 数据库
  • python
  • 大数据
  • 性能分析优化
  • 中间件
  • 云原生
  • 面试
  • 外卖霸王餐
  • 打工人的带饭生活
  • 30岁我该怎么办
友链
关于我
GitHub (opens new window)
  • SQL语法

    • MySQL常用函数及语法
      • 1. SQL语法
        • 1.1 基础语法
        • 1.1.1 注释
        • 1.1.2 建表
        • 1.1.3 删除表
        • 1.1.4 清空表数据
        • 1.2 新增
        • 1.3 查询
        • 1.3.1 基础查询
        • 1.3.2 分页查询
        • 1.3.3 分组查询
        • 1.3.4 排序查询
        • 1.4 更新
        • 1.4.1 单表更新
        • 1.4.2 多表关联更新
        • 1.4.3 merge更新
        • 1.4.4 子查询更新
        • 1.4.5 FOR UPDATE
        • 1.5 删除
        • 1.5.1 单表删除
        • 1.5.2 多表关联删除
        • 1.6 事务
        • 1.6.1 基础事务
        • 1.7 索引
        • 1.7.1 基础索引
        • 1.8 视图
        • 1.8.1 基础视图
      • 2 常用函数
        • 2.1 基础函数
        • 2.2 字符串函数
        • 2.3 数值函数
        • 2.4 日期函数
        • 2.5 聚合函数
        • 2.6 其他函数
    • PgSQL非常用函数及语法
  • 数据库国产化之路

  • 其他

  • 数据库
  • SQL语法
Mr.Fire
2025-12-24
目录

MySQL常用函数及语法

  • 1. SQL语法
    • 1.1 基础语法
    • 1.2 新增
    • 1.3 查询
    • 1.4 更新
    • 1.5 删除
    • 1.6 事务
    • 1.7 索引
    • 1.8 视图
  • 2 常用函数
    • 2.1 基础函数
    • 2.2 字符串函数
    • 2.3 数值函数
    • 2.4 日期函数
    • 2.5 聚合函数
    • 2.6 其他函数

# 1. SQL语法

# 1.1 基础语法

# 1.1.1 注释

在SQL语句中添加注释,用于解释代码的作用

-- 这是一条注释
/* 这也是一条注释 */
1
2

# 1.1.2 建表

创建数据库中的表

CREATE TABLE 表名 (
    列1 数据类型 约束,
    列2 数据类型 约束,
    列3 数据类型 约束,
    ...
    -- 主键
    PRIMARY KEY (列1, 列2, ...),
    -- 唯一约束
    UNIQUE (列1, 列2, ...),
    -- 非空约束
    NOT NULL 列1,
    -- 外键约束
    FOREIGN KEY (列1) REFERENCES 表名2(列2),
    -- 检查约束
    CHECK (条件)
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 1.1.3 删除表

删除数据库中的表

DROP TABLE 表名;
1

# 1.1.4 清空表数据

清空数据库中的表数据,不删除表结构

TRUNCATE TABLE 表名;
1
DELETE FROM 表名 WHERE 条件;
1

TRUNCATE 和 DELETE 都可以用来清空数据库中的表数据,但是它们有一些区别:

  • TRUNCATE 是一个 DDL 语句,会直接删除表中的所有数据,不记录在日志中,也不触发触发器。
  • DELETE 是一个 DML 语句,会删除表中的数据,记录在日志中,也会触发触发器。
  • TRUNCATE 操作是原子的,要么全部成功,要么全部失败。
  • DELETE 操作可以回滚,但是 TRUNCATE 操作不能回滚。

# 1.2 新增

新增数据到数据库中

INSERT INTO 表名 (列1, 列2, 列3, ...)
VALUES (值1, 值2, 值3, ...);
1
2

批量新增数据到数据库中

INSERT INTO 表名 (列1, 列2, 列3, ...)
VALUES (值1, 值2, 值3, ...),
       (值1, 值2, 值3, ...),
       (值1, 值2, 值3, ...);
1
2
3
4

# 1.3 查询

# 1.3.1 基础查询

查询数据库中的数据

SELECT 列1, 列2, 列3, ...
FROM 表名
WHERE 条件;
1
2
3

# 1.3.2 分页查询

分页查询数据库中的数据

SELECT 列1, 列2, 列3, ...
FROM 表名
WHERE 条件
LIMIT 偏移量, 每页数量;
1
2
3
4

# 1.3.3 分组查询

分组查询数据库中的数据

SELECT 列1, 列2, 列3, ...
FROM 表名
WHERE 条件
GROUP BY 列1, 列2, ...
HAVING 分组条件;
1
2
3
4
5

# 1.3.4 排序查询

排序查询数据库中的数据

SELECT 列1, 列2, 列3, ...
FROM 表名
WHERE 条件
ORDER BY 列1 排序方式, 列2 排序方式, ...;
1
2
3
4

排序方式有两种:

  • ASC:升序排序(默认)
  • DESC:降序排序

# 1.4 更新

# 1.4.1 单表更新

更新数据库中的数据

UPDATE 表名
SET 列1 = 值1, 列2 = 值2, ...
WHERE 条件;
1
2
3

# 1.4.2 多表关联更新

更新数据库中的数据,关联其他表中的数据

UPDATE 表名1
SET 列1 = 值1, 列2 = 值2, ...
FROM 表名2
WHERE 关联条件;
1
2
3
4

# 1.4.3 merge更新

合并更新数据库中的数据,关联其他表中的数据

MERGE INTO 表名1
USING 表名2
ON 关联条件
WHEN MATCHED THEN
    UPDATE SET 列1 = 值1, 列2 = 值2, ...
WHEN NOT MATCHED THEN
    INSERT (列1, 列2, 列3, ...)
    VALUES (值1, 值2, 值3, ...);
1
2
3
4
5
6
7
8

# 1.4.4 子查询更新

更新数据库中的数据,使用子查询关联其他表中的数据

UPDATE 表名1
SET 列1 = 值1, 列2 = 值2, ...
WHERE 条件
AND 列3 IN (子查询);
1
2
3
4

# 1.4.5 FOR UPDATE

锁定数据库中的数据,防止其他事务对其进行修改

SELECT 列1, 列2, 列3, ...
FROM 表名
WHERE 条件
FOR UPDATE;
1
2
3
4

# 1.5 删除

# 1.5.1 单表删除

删除数据库中的数据

DELETE FROM 表名
WHERE 条件;
1
2

# 1.5.2 多表关联删除

删除数据库中的数据,关联其他表中的数据

DELETE FROM 表名1
USING 表名2
WHERE 关联条件;
1
2
3

# 1.6 事务

# 1.6.1 基础事务

开启事务

START TRANSACTION;
1

提交事务

COMMIT;
1

回滚事务

ROLLBACK;
1

# 1.7 索引

# 1.7.1 基础索引

创建索引

CREATE INDEX 索引名 ON 表名 (列1, 列2, ...);
1

删除索引

DROP INDEX 索引名 ON 表名;
1

# 1.8 视图

# 1.8.1 基础视图

  1. 创建视图
CREATE VIEW 视图名 AS
SELECT 列1, 列2, 列3, ...
FROM 表名
WHERE 条件;
1
2
3
4
  1. 查询视图
SELECT 列1, 列2, 列3, ...
FROM 视图名
WHERE 条件;
1
2
3
  1. 删除视图
DROP VIEW 视图名;
1

# 2 常用函数

# 2.1 基础函数

  • 字符串函数
  • 数值函数
  • 日期函数
  • 聚合函数
  • 其他函数

# 2.2 字符串函数

  • 字符串连接函数
CONCAT(字符串1, 字符串2, ...)
1
  • 字符串截取函数
SUBSTRING(字符串, 开始位置, 长度)
1
  • 字符串替换函数
REPLACE(字符串, 旧字符串, 新字符串)
1
  • 字符串长度函数
LENGTH(字符串)
1
  • 字符串大小写转换函数
UPPER(字符串)
LOWER(字符串)
1
2

# 2.3 数值函数

  • 数值计算函数
数值1 运算符 数值2
1
  • 数值转换函数
CAST(数值 AS 数据类型)
1
  • 数值格式化函数
FORMAT(数值, 格式)
1
  • 数值取整函数
ROUND(数值, 小数位数)
1
  • 数值取余函数
MOD(数值1, 数值2)
1
  • 数值取绝对值函数
ABS(数值)
1
  • 数值取平方根函数
SQRT(数值)
1
  • 数值取自然对数函数
LN(数值)
1
  • 数值取指数函数
EXP(数值)
1

# 2.4 日期函数

  • 字符串转日期
STR_TO_DATE(字符串, 格式)
1
  • 日期格式化函数
DATE_FORMAT(日期, 格式)
1
  • 日期计算函数
日期1 运算符 日期2
1
  • 日期提取函数
YEAR(日期)
MONTH(日期)
DAY(日期)
1
2
3
  • 日期比较函数
日期1 运算符 日期2
1
  • 日期差函数
DATEDIFF(日期1, 日期2)
1
  • 日期加减函数
DATE_ADD(日期, INTERVAL 数值 单位)
DATE_SUB(日期, INTERVAL 数值 单位)
1
2

# 2.5 聚合函数

  • 计数函数
COUNT(列名)
1
  • 求和函数
SUM(列名)
1
  • 平均值函数
AVG(列名)
1
  • 最大值函数
MAX(列名)
1
  • 最小值函数
MIN(列名)
1

# 2.6 其他函数

  • 字符串拼接函数
GROUP_CONCAT(列名)
1
  • 随机数函数
RAND()
1
  • 窗口函数
窗口函数 OVER (PARTITION BY 列名 ORDER BY 列名)
1

常用窗口函数

  1. 排名函数
RANK() OVER (PARTITION BY 列名 ORDER BY 列名)
1
  1. dense排名函数
DENSE_RANK() OVER (PARTITION BY 列名 ORDER BY 列名)
1
  1. 行号函数
ROW_NUMBER() OVER (PARTITION BY 列名 ORDER BY 列名)
1
最后更新时间: 2025/12/29, 16:29:25
PgSQL非常用函数及语法

PgSQL非常用函数及语法→

最近更新
01
AI工作流
12-22
02
RAG是什么
12-22
03
Trae工具使用
12-03
更多文章>
Theme by Vdoing | Copyright © 2021-2025 Mr.Fire | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式