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

计算机四级 - 数据库原理 - 第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的数据控制包括:安全性控制、完整性控制、并发控制和故障恢复


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


http://www.kler.cn/a/586266.html

相关文章:

  • 实验篇| CentOS 7 下 Keepalived + Nginx 实现双机高可用
  • ESP32的IDF开发学习-驱动ov2640并显示在屏幕上
  • 【菜鸟飞】在vsCode中安装python的ollama包出错的问题
  • 【清华大学第七版】DeepSeek赋能家庭教育的实操案例(批改作文+辅助语文/数学/科学学习+制定学习计划)
  • datax源码分析
  • unity导出比例问题
  • Ansible相关工具:ansible-doc、ansible
  • Linux系统中切换CUDA版本的完整指南(含vim使用方法)
  • NAFNet:Simple Baselines for Image Restoration
  • 深度解读DeepSeek部署使用安全(48页PPT)(文末有下载方式)
  • SSA-朴素贝叶斯分类预测matlab代码
  • 食品配送管理系统(源码+文档+讲解+演示)
  • 西门子S7-1200 PLC远程上下载程序方案
  • Springboot中的异常处理
  • 大模型——Qwen2-VL OCR能力微调与量化
  • 蓝桥杯2024年第十五届省赛真题-回文数组
  • OpenCV中文路径图片读写终极指南(Python实现)
  • 光伏储能:未来能源的黄金搭档
  • 【品铂科技】在高精度定位行业内的口碑怎么样?
  • 【说下线程本地变量ThreadLocal及其用法】