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

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

个人专栏:

算法设计与分析:算法设计与分析_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(大纲),第2张

SQL的基本概念

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

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

基本表

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

存储文件

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

视图

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

数据定义

SQL的数据定义功能:

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

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

数据字典

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

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

关系数据库管理系统在执行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以上的标准。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/13518544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024-02-01

发表评论

登录后才能评论

评论列表(0条)

保存