相关推荐recommended
【MySQL】——关系数据库标准语言SQL(大纲)
作者:mmseoamin日期:2024-01-21

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

 

🎯SQL概述

🎃SQL的特点

🎐综合统一

🎐 高度非过程化

🎐面向集合的操作方式

🎐以同一种语法结构提供多种使用方式

🎐语言简洁,易学易用

🎃SQL的基本概念

🎐SQL支持关系数据库三级模式结构

🎐基本表

🎐存储文件

🎐视图

🎯数据定义

💻SQL的数据定义功能:

💻数据字典

🎯数据查询

🐟语句格式

🎯数据更新

💎 插入数据

 💎修改数据

 💎删除数据

🎯空值的处理

🎯视图

🎯小结


🎯SQL概述

🎃SQL的特点

🎐综合统一

  • 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体
  • 可以独立完成数据库生命周期中的全部活动:
    1. 定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库;
    2.  对数据库中的数据进行查询和更新;
    3.  数据库重构和维护
    4. 数据库安全性、完整性控制,以及事务控制
    5. 嵌入式SQL和动态SQL定义
    • 用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据库的运行。
    • 数据操作符统一

🎐 高度非过程化

  • 非关系数据模型的数据操纵语言“面向过程”,必须指定存取路径。
  • SQL只要提出“做什么”,无须了解存取路径。
  •  存取路径的选择以及SQL的操作过程由系统自动完成。

🎐面向集合的操作方式

  • 非关系数据模型采用面向记录的操作方式,操作对象是一条记录
  • SQL采用集合操作方式  
  • 操作对象、查找结果可以是元组的集合  
  • 一次插入、删除、更新操作的对象可以是元组的集合

🎐以同一种语法结构提供多种使用方式

  • SQL是独立的语言  
  • 能够独立地用于联机交互的使用方式 SQL又是嵌入式语言
  • SQL能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用

🎐语言简洁,易学易用

  • SQL功能极强,完成核心功能只用了9个动词。

    【MySQL】——关系数据库标准语言SQL(大纲),第1张

    🎃SQL的基本概念

    🎐SQL支持关系数据库三级模式结构

    【MySQL】——关系数据库标准语言SQL(大纲),第2张

    🎐基本表

    • 本身独立存在的表
    • SQL中一个关系就对应一个基本表
    • 一个(或多个)基本表对应一个存储文件
    • 一个表可以带若干索引

    🎐存储文件

    • 逻辑结构组成了关系数据库的内模式
    • 物理结构对用户是隐蔽的

    🎐视图

    • 从一个或几个基本表导出的表
    • 数据库中只存放视图的定义而不存放视图对应的数据
    • 视图是一个虚表
    • 用户可以在视图上再定义视图

    🎯数据定义

    💻SQL的数据定义功能:

    • 模式定义
    • 表定义
    • 视图和索引的定义

      【MySQL】——关系数据库标准语言SQL(大纲),第3张

      💻数据字典

      数据字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有对象的定义信息以及一些统计信息:

      • 关系模式、表、视图、索引的定义
      • 完整性约束的定义
      • 各类用户对数据库的操作权限
      • 统计信息等

      关系数据库管理系统在执行SQL的数据定义语句时,实际上就是在更新数据字典表中的相应信息。

      🎯数据查询

      🐟语句格式

      SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …        

      FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句)  [AS]<别名>

      [ WHERE <条件表达式> ]

      [ GROUP BY <列名1> [ HAVING <条件表达式> ] ]

      [ ORDER BY <列名2> [ ASC|DESC ] ];

      • SELECT子句:指定要显示的属性列
      • FROM子句:指定查询对象(基本表或视图)
      • WHERE子句:指定查询条件
      • GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。
      • HAVING短语:只有满足指定条件的组才予以输出
      • ORDER BY子句:对查询结果表按指定列值的升序或降序排序

        🎯数据更新

        💎 插入数据

        两种插入数据方式:

        • 插入元组
        • 插入子查询结果
          • 可以一次插入多个元组

           💎修改数据

          语句格式:

          UPDATE  <表名>    

          SET  <列名>=<表达式>[,<列名>=<表达式>]…    

          [WHERE <条件>];

          功能:

          • 修改指定表中满足WHERE子句条件的元组
          • SET子句给出<表达式>的值用于取代相应的属性列
          • 如果省略WHERE子句,表示要修改表中的所有元组

           💎删除数据

          语句格式:

          DELETE        

          FROM     <表名>        

          [WHERE <条件>];

          功能:

          删除指定表中满足WHERE子句条件的元组

          WHERE子句:

          • 指定要删除的元组
          • 缺省表示要删除表中的全部元组,表的定义仍在字典中

          🎯空值的处理

          空值就是“不知道”或“不存在”或“无意义”的值

          一般有以下几种情况:

          • 该属性应该有一个值,但目前不知道它的具体值
          • 该属性不应该有值
          • 由于某种原因不便于填写

          属性定义(或者域定义)中

          • 有NOT NULL约束条件的不能取空值
          • 加了UNIQUE限制的属性不能取空值
          • 码属性不能取空值

          🎯视图

          回顾:三级模式两层映像结构

          对应概念模式的数据在SQL中被称为基本表(Table), 而对应外模式的 数据称为视图(View)。视图不仅包含外模式,而且包含其E-C映像。

          SQL数据库结构

          • 基本表是实际存储于存储文件中的表,基本表中的数据是需要存储的
          • 视图在SQL中只存储其由基本表导出视图所需要的公式,即由基本表产生视图的映像信息,其数据并不存储,而是在运行过程中动态产生与维护的。基表中的数据发生变化,从视图中查询出的数据也随之改变。
          • 对视图数据的更改最终要反映在对基本表的更改上。

          🎯小结

          • SQL可以分为数据定义、数据查询、数据更新、数据控制四大部分
          • SQL是关系数据库语言的工业标准。大部分数据库管理系统产品都能支持SQL92,但是许多数据库系统只支持SQL99、SQL2008和SQL2011的部分特征,至今尚没有一个数据库系统能够完全支持SQL99以上的标准。