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; -- 这是一个注释
相关推荐
尘浮生11 分钟前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
偶尔。53512 分钟前
什么是事务?事务有哪些特性?
数据库·oracle
安迁岚14 分钟前
【SQL Server】华中农业大学空间数据库实验报告 实验六 视图
数据库·sql·mysql·oracle·实验报告
喵叔哟20 分钟前
16. 【.NET 8 实战--孢子记账--从单体到微服务】--汇率获取定时器
微服务·oracle·.net
xoxo-Rachel24 分钟前
(超级详细!!!)解决“com.mysql.jdbc.Driver is deprecated”警告:详解与优化
java·数据库·mysql
乌啼霜满天24926 分钟前
JDBC编程---Java
java·开发语言·sql
JH30731 小时前
Oracle与MySQL中CONCAT()函数的使用差异
数据库·mysql·oracle
蓝染-惣右介1 小时前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis
冷心笑看丽美人1 小时前
Spring框架特性及包下载(Java EE 学习笔记04)
数据库
hummhumm2 小时前
第 28 章 - Go语言 Web 开发入门
java·开发语言·前端·python·sql·golang·前端框架