当前位置: 首页 > news >正文

计算机四级 - 数据库原理 - 第4章 「关系数据库标准语言SQL」

4.1 SQL概述

4.1.1 结构化查询语言SQL

SQL(Structured Query Language)称为结构化查询语言,它是由1974年由Boyce和Chamberi提出的,1975年至1979年IBM公司的San Jose Research Laboratory研制了关系数据库管理系统的原型系统System R,并实现了这种语1987年6月国际标准化组织采纳SQL为国际标准,1999年的SQL3拥有了更多的特征,例如递归、触发器以及对象等,它支持对象-关系数据模型

4.1.2 SQL的语言特点

  • 综合统一
  • 高度非过程化
    • 用SQL语言进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,因此用户无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性
  • 面向集合的操作方式
  • 灵活的使用方法
  • 语言简洁,易学易用,功能强

4.1.3 SQL的数据类型

  • 预定义数据类型
    • 数值型:INT、SMALLINT、REAL、DOUBLE PRECSION、FLOAT、NUMERIC
    • 字符串型:CHAR 、VAR CHAR
    • 位串型:BIT 、BIT VARRING
    • 时间型:DATA 、TIME 、TIMESTAMP
    • 布尔型:BOOLEAN
  • 构造数据类型
  • 用户定义数据类型
  • 大对象类型

4.1.4 SQL语言的组成和语句类型

1. SQL语言的组成:

  • 数据定义语言(DDL):用来创建数据库的各种对象,包括数据库模式、表、视图、索引、域、触发器、自定义类型等。
  • 数据操纵语言(DML)
  • 数据控制语言(DCL)

2. SQL语句类型:

  • SQL定义语句:CREATE(创建表)、DROP(删除表)和ALTER(更新表)
  • SQL数据操纵语句:select、insert、delete、updata
  • SQL事务和控制语句:grant、revoke
  • SQL连接、会话和诊断语句:set connection

4.2 SQL的数据定义

4.2.1 模式的定义和删除

  • 定义了一个SQL模式,就是定义了一个命名空间

创建模式:CREATE SCHEMA <模式名> AUTHORIZATION <用户名>;

删除模式:DROP SCHEMA <模式名> {CASCADE | RESTRICT}

CASCADE表示级联方式,删除模式时将其下属的模式对象全部删除;

RESTRICT是约束方式,只有下属的模式对象预先已经被全部删除才能执行对模式的删除

4.2.2 基本表的定义、删除和修改

4.2.3 索引的建立和删除

一个基本表上最多只能建立一个聚簇索引。

4.3 SQL的数据查询

  • 通配符:_表示可以和任意的单个字符匹配,%表示可以和任意长的字符串匹配
  • IN 和 NOT IN 用于查找属性值属于指定集合的元组。DESC可以进行降序排列
  • 如果嵌套查询的内层查询返回的是多值,要使用ANY,且必须同时使用比较运算符

4.4 SQL的数据修改

4.5 SQL的视图

  • 视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制
    • 视图是使用SELECT FROM语句从一个或多个基本表(或其他视图)中导出的表,它与基本表不同,是一个虚表;对视图的一切操作最终将转换成对导出它的基本表的操作。视图一经定义就可以和基本表一样被查询,也可以在一个视图上再定义新的视图,但对视图的修改(插入、删除、更新)操作有一定的限制。

  • 行列子集视图:若一个视图是从单个基本表导出,并且只是去掉了基本表的某些行和某些列,但保留了主码
  • 带表达式的视图:若一个视图带有由基本数据经过各种计算派生出的虚拟列。
  • 分组视图:若一个视图在创建它的SELECT语句中使用了聚集函数和GROUP BY子句
  • 连接视图:若一个视图在创建它的SELECT语句中使用了两个或多个表连接

4.6 SQL的数据控制

  •  SQL的数据控制包括:安全性控制、完整性控制、并发控制和故障恢复


其余章节进我主页进行查看

相关文章:

  • deepseek GRPO算法保姆级讲解(数学原理+源码解析+案例实战)
  • FPGA学习(二)——实现LED流水灯
  • Python游戏开发自学指南:从入门到实践(第四天)
  • Python 基础知识整理笔记
  • Spring 事务失效的 8 种场景!
  • mac intel芯片下载安卓模拟器
  • 怎么解决在Mac上每次打开文件夹都会弹出一个新窗口的问题
  • 设计模式(行为型)-备忘录模式
  • C++初阶——类和对象(三) 构造函数、析构函数
  • 开源新星DeepSearcher:用AI重新定义“搜索”的边界
  • 【004】deepseek本地化部署后,python的调用方式_#py
  • Leetcode2272:最大波动的子字符串
  • Java多线程入门
  • 基于牛优化( OX Optimizer,OX)算法的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码
  • aws(学习笔记第三十三课) 深入使用cdk 练习aws athena
  • A* floyd算法 bellman-ford
  • 使用傅里叶变换测量声卡的频率失真
  • DeepSeek提示词高级指南:正反向组合的工程化实践
  • 【人工智能】【Python】在Scikit-Learn中使用网格搜索对决策树调参
  • 不同路径
  • 武汉网上商城网站建设/北京网络营销推广外包
  • 网站的页脚什么做/做好的网站怎么优化
  • 伪静态网站入侵/申京效率值联盟第一
  • 农家乐网站模板/百度网盘app怎么打开链接
  • 做企业网站的研究现状/seo如何优化关键词上首页
  • 小小的日本电影在线观看/北京网站优化服务