SQL语句补充与示例

在工作中对一些sql感觉陌生,补充一下学习。

SQL语句补充与示例

SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。SQL 语句用于执行各种数据库操作,包括查询、更新、插入和删除数据。以下是一些基本的 SQL 语句类型及其用途:

1、常用语句

  1. SELECT - 从数据库中检索数据。

    sql 复制代码
    SELECT column1, column2 FROM table_name;
  2. INSERT INTO - 向数据库表中插入新数据。

    复制代码
    INSERT INTO table_name (column1, column2) VALUES (value1, value2);
  3. UPDATE - 更新数据库表中的现有数据。

    复制代码
    UPDATE table_name SET column1 = value1 WHERE condition;
  4. DELETE - 从数据库表中删除数据。

    复制代码
    DELETE FROM table_name WHERE condition;
  5. CREATE - 创建新的数据库或表。

    复制代码
    CREATE TABLE table_name (
        column1 datatype,
        column2 datatype,
        ...
    );
  6. ALTER - 修改现有数据库结构,如添加或删除列。

    复制代码
    ALTER TABLE table_name ADD column_name datatype;
  7. DROP - 删除数据库、表或列。

    复制代码
    DROP TABLE table_name;
  8. JOIN - 连接多个表以基于相关列合并它们的数据。

    复制代码
    SELECT column1, column2
    FROM table1
    JOIN table2
    ON table1.column_name = table2.column_name;
  9. GROUP BY - 将数据分组并使用聚合函数(如 COUNT, SUM, AVG)进行计算。

    复制代码
    SELECT column_name, COUNT(*)
    FROM table_name
    GROUP BY column_name;
  10. ORDER BY - 对结果集进行排序。

    复制代码
    SELECT column_name
    FROM table_name
    ORDER BY column_name ASC; -- 升序
  11. WHERE - 过滤结果集,只返回满足条件的记录。

    复制代码
    SELECT column_name
    FROM table_name
    WHERE condition;
  12. HAVING - 用于与 GROUP BY 一起使用,过滤分组后的结果。

    复制代码
    SELECT column_name, COUNT(*)
    FROM table_name
    GROUP BY column_name
    HAVING COUNT(*) > 1;

这些是 SQL 的一些基本操作和语句。根据具体需求,SQL 语句可以非常复杂和多样化。

2、其他语句

SQL 中的 CASE 语句是一种条件表达式,它允许你根据不同的条件返回不同的结果。以下是 CASE 语句的一些用法

复制代码
//switch......case....;一点这种根据
​
public class HelloWorld {
    public static void main(String args[]) {
        int i = 3;
        switch(i){
            case 1:
                System.out.println("i等于1");
            break;
            case 2:
                System.out.println("i等于2");
            break;
            case 3:
                System.out.println("i等于3");
            break;
            default:
                System.out.println("i不等于上述条件");
            break;
        }
    }
}
  1. 简单 CASE 语句 - 用于返回基于条件的单个结果。

    复制代码
    SELECT column_name,
           CASE
               WHEN condition1 THEN result1
               WHEN condition2 THEN result2
               ELSE default_result
           END AS new_column_name
    FROM table_name;
  2. 搜索 CASE 语句 - 与简单 CASE 语句类似,但是它会在第一个条件为真时停止检查。

    复制代码
    SELECT column_name,
           CASE
               WHEN condition1 THEN result1
               ELSE result2
           END AS new_column_name
    FROM table_name;
  3. CASE 语句在 SELECT 之外 - 可以用于 WHERE 子句或 ORDER BY 子句中。

    复制代码
    SELECT column_name
    FROM table_name
    WHERE CASE WHEN condition THEN 1 ELSE 0 END = 1;

除了 CASE 语句,SQL 还提供了其他一些有用的语句和功能:

  • UNION 和 UNION ALL - 用于合并两个或多个 SELECT 语句的结果集。

    复制代码
     SELECT column_name FROM table1
     UNION ALL
     SELECT column_name FROM table2;
  • WITH (公用表表达式,CTE) - 允许你定义一个临时的结果集,可以在查询中引用。

    复制代码
     WITH cte_name (column1, column2) AS (
       SELECT column1, column2 FROM table_name WHERE condition
     )
     SELECT * FROM cte_name;
  • SUBQUERY - 一个查询嵌套在另一个查询中。

    复制代码
     SELECT column_name FROM table1
     WHERE column_name IN (SELECT column_name FROM table2 WHERE condition);
  • TRUNCATE - 快速删除表中的所有行,但保留表结构。

    复制代码
     TRUNCATE TABLE table_name;
  • EXPLAIN - 显示 SQL 语句的执行计划。

    复制代码
     EXPLAIN SELECT * FROM table_name;
  • COMMIT 和 ROLLBACK - 在事务型数据库中,用于提交或回滚事务。

    复制代码
     COMMIT; -- 提交事务
     ROLLBACK; -- 回滚事务
  • LOCK TABLE - 锁定表以进行特定的操作。

    复制代码
     LOCK TABLES table_name WRITE;
     -- 进行操作
     UNLOCK TABLES;
  • COMMENT - 向 SQL 语句添加注释。

    复制代码
     SELECT column_name FROM table_name; -- 这是一个注释
相关推荐
段ヤシ.5 分钟前
回顾Java知识点,面试题汇总Day13:数据库MySQL(持续更新)
java·数据库·mysql
mN9B2uk1720 分钟前
在Qt中使用SQLite数据库
数据库·qt·sqlite
迷枫71221 分钟前
达梦 SQL 执行计划操作符与 TRACE、ET 学习笔记
笔记·sql
network_tester34 分钟前
SENT/PSI5传感器TSN集成测试:打通传统传感与未来车载网络的“最后一公里”
数据库·网络协议·tcp/ip·自动驾驶·信息与通信·信号处理·tcpdump
桌面运维家1 小时前
校园机房vDisk IDV云桌面建设方案价格参考
linux·服务器·数据库
念越1 小时前
SQL 基础语法复习
数据库·sql·数据库系统概论
ULIi096kr1 小时前
MySQL磁盘爆满快速排查方案:一键查询库表空间、定位占用大户(RDS/自建通用)
数据库·mysql
华山令狐虫1 小时前
告别手写 SQL——DBAPI 企业版 v4.6.0 推出 AI 助手
数据库·人工智能·sql·dbapi
Cx330❀1 小时前
【MySQL基础】库与表的全面操纵指南
linux·服务器·网络·数据库·c++·mysql
天丁o1 小时前
企业 AI Agent 工程化落地:从需求边界到系统集成的 6 个环节
数据库·人工智能