• 关系型数据库语言基础整理


    一 简述

    关系型数据库涉及到的查询语言有三种:操作语言(DML)、定义语言(DDL)、控制语言(DCL)。
    操作语言 :用作日常数据库的数据操纵,,日常获取业务数据的是DML语言,通常使用比较多的语法:
    包括:SELECT、INSERT、UPDATE、DELETE

    定义语言:用作数据库、数据对象、数据列的定义等,通常使用比较多的语法
    包括:CREATE、ALTER、DROP

    控制语言:用作数据库组件的存取许可和权限的命令操作,使用比较多的语法包括:GRANT、DENY、REVOKE

    二 不同场景梳理

    定义语言(DDL)语法应用场景语法
    CREATE用作新数据库、表格的创建CREATE DATABASE 库名CREATE TABLE 表名
    ALTER修改数据库/表的基础信息ALTER TABLE 表名 执行操作
    DROP删除数据库或者表对象DROP DATABASE 库名DROP TABLE 表名
    操作语言(DML语法应用场景语法
    SELECT查询数据库表的记录SELECT * FROM 表名
    INSERT插入一行新的记录INSERT INTO 表名(字段名称1,字段名称2,…)VALUES (值1,值2,…)
    UPDATE更新某一行记录UPDATE 表名 SET 字段值=值,字段名=值 WHERE 条件
    DELETE删除某一行记录,日常这种记录建议谨慎操作DELETE FROM TABLE 表名 WHERE条件
    控制语言(DCL)语法应用场景语法
    GRANT授权给用户或用户组访问数据库对象的权限GRANT SELECT ON 数据库对象 TO 用户/用户组
    DENY限制用户或角色对某些数据库对象的访问权限DENY SELECT,UPDATE ON 数据库对象 TO 角色/用户
    REVOKE撤销用户或用户组访问数据库对象的权限REVOKE SELECT ON 数据库对象 FROM 用户/用户组

    三 SELECT常用语法

    使用场景举例
    查询所有数据SELECT * FROM 表名
    查询指定字段SELECT 字段名1,字段名2 FROM 表名
    指定查询条件SELECT * FROM 表名 WHERE 条件
    比较查询(>,>=,<,<=,=,!=)SELECT * FROM 表名 WHERE 字段名>取值
    逻辑查询(AND,OR)SELECT * FROM 表名 WHERE 字段名1>取值1 AND 字段名2>取值2
    范围查询(BETWEEN AND,IN)SELECT * FROM 表名 WHERE 字段名 BETWEEN 取值1 AND 取值2
    SELECT * FROM 表名 WHERE 字段名 IN(取值1,取值2)
    匹配为空或非空(IS NULL,IS NOT NULL)SELECT * FROM 表名 WHERE 字段名 IS NULL
    SELECT * FROM 表名 WHERE 字段名 IS NOT NULL
    模糊查询(LIKE,%)SELECT * FROM 表名 WHERE 字段名 LIKE ‘字符串’
    SELECT * FROM 表名 WHERE 字段名 LIKE ‘%字符串%’
    查询结果限制行数(LIMIT)SELECT * FROM 表名 LIMIT N(显示N条数据)
    聚合函数(SUM,AVG,MAX,MIN,COUNT)SELECT SUM 字段名 FROM 表名 WHERE 条件
    查询结果分组(GROUP BY)SELECT 字段1,字段2,…FROM 表名 WHERE 条件 GROUP BY 字段1
    查询结果排序(ORDER BY)SELECT 字段1,字段2,…FROM 表名 WHERE 条件 ORDER BY 字段1
    查询结果聚合筛选(HAVING+GROUP BY)SELECT 字段1,字段2,…FROM 表名 HAVING 聚合函数条件 ORDER BY 字段1
    去重查询(DISTINCT)SELECT INSTINCT 字段名 FROM 表名 WHERE 条件
    嵌套查询SELECT 字段N1,字段N2,… FROM
    (SELECT 字段1,字段2,… FROM 表名 WHERE 条件1)
    WHERE 条件2
    多表查询(LEFT JOIN,INNER JOIN,RIGHT JOIN)SELECT 字段1,字段2,…
    FROM 表名1
    LEFT JOIN 表名2
    ON 表1.字段名N=表2.字段名0
    WHERE 条件
  • 相关阅读:
    [ 常用工具篇 ] 解决 kali 拉取docker容器慢的问题 -- kali修改 Docker 镜像服务器
    Utilizing Transformer Representations Efficiently
    C# WinForm ——31 32 Menustrip菜单栏
    架构案例2017(五十二)
    微擎模块 啦啦外卖跑腿小程序最新版14.3 带最新跑腿前端+教学视频 完整包
    成都瀚网科技有限公司:抖店平台买家怎么修改评价?
    pyqt5 学习笔记八 (窗口、信号与槽)
    程序设计:C语言 UNIX/LINUX 环境变量替换
    ChatGPT 的原理简介
    CUDA~矩阵乘运算
  • 原文地址:https://blog.csdn.net/qq_31385713/article/details/133245913