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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL】——关系数据库标准语言SQL(大纲)

🎯SQL概述

🎃SQL的特点

🎐综合统一

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


🎐 高度非过程化

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

🎐面向集合的操作方式

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

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

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

🎐语言简洁,易学易用

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


🎃SQL的基本概念

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

🎐基本表

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


🎐存储文件

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

🎐视图

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


🎯数据定义

💻SQL的数据定义功能:

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

💻数据字典

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

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

关系数据库管理系统在执行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以上的标准。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
121 0
|
8天前
|
存储 SQL 关系型数据库
【MySQL】数据库基础 -- 详解
【MySQL】数据库基础 -- 详解
|
15天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
132 0
|
2天前
|
SQL Java 关系型数据库
Mysql 数据库基本操作
Mysql 数据库基本操作
|
6天前
|
关系型数据库 分布式数据库 数据库
【阿里云云原生专栏】云原生时代的数据库选型:阿里云RDS与PolarDB对比分析
【5月更文挑战第24天】阿里云提供RDS和PolarDB两种数据库服务。RDS是高性能的在线关系型数据库,支持MySQL等引擎,适合中小规模需求;而PolarDB是分布式数据库,具备高扩展性和性能,适用于大规模数据和高并发场景。RDS与PolarDB在架构、性能、弹性伸缩、成本等方面存在差异,开发者应根据具体需求选择。示例代码展示了如何通过CLI创建RDS和PolarDB实例。
458 0
|
7天前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
42 2
|
8天前
|
存储 数据可视化 关系型数据库
【MySQL进阶之路 | 基础篇】创建和管理数据库
【MySQL进阶之路 | 基础篇】创建和管理数据库
|
8天前
|
关系型数据库 MySQL 数据库
如何在MySQL中查看已创建的数据库列表?
【5月更文挑战第22天】如何在MySQL中查看已创建的数据库列表?
21 1
|
10天前
|
存储 关系型数据库 MySQL
MySQL中数据库的相关操作
MySQL中数据库的相关操作
233 62
|
15天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
39 0