自学内容网 自学内容网

1、SQL语言

分类方式

类别描述

部署方式

嵌入式/单机/双机/集群/分布式/云数据库

业务类型

OLTP数据库/OLAP数据库/流数据库/时序数据库

存储介质

内存数据库/磁盘数据库/SSD数据库/SCM数据库

年代

第一代是单机数据库/第二代是集群数据库/第三代是分布式数据库和云原生数据库/第四代是AI数据库

什么是SQL语言?

SQL语言是一种基于关系代数和关系演算的非过程化语言,它指定用户需要对数据操作的内容,而不指定如何去操作数据

SQL语言的4大特点

SQL语言具有非过程化、简单易学、易迁移、高度统一等特点

1.非过程化:在使用SQL语言的过程中,用户并不需要了解SQL语言的具体操作方法,只需要通过SQL语言描述想要获得的结果集合的条件,至于如果取得结果,由数据库查询优化系统负责生成具体的执行计划去完成。

2.简单易学:SQL语言的设计非常精简,只需要有限的命令就可以完成复杂的查询操作

3.易迁移:主流的关系数据库系统都支持以SQL语言为标准的查询操作

4.高度统一:SQL语言具有高度的统一性,统一的语法结构和统一的风格,使得对数据库的操作也具有完备性

基本功能:数据定义

数据定义主要的SQL语句如下:

语句

描述

数据定义

DDL:定义、修改、删除数据模式

CREATE TABLE

数据库中创建一个表

DROP TABLE

数据库中删除一个表

ALTER TABLE

改变现存表的结构

CREATE TABLE

数据库中添加一个视图

DROP VIEW

数据库中删除一个视图

语句

描述

数据操作

DML:数据的检索,插入、删除、更新

SELECT

从数据库中检索数据

INSERT

向数据库中添加一行数据

DELETE

从数据库中删除一行数据

UPDATE

修改现存的数据库数据

访问控制的SQL语句:

语句

描述

访问控制

DCL:控制用户对数据的访问权限

GRANT

授予用户访问权限

REVOKE

撤销用户访问权限

事务控制的SQL语句:

语句

描述

事务控制

TCL:控制数据操作的事务

COMMIT

提交当前事务

ROLLBACK

回滚当前事务

SET TRANSACTION

定义当前事务数据访问特征

程序化SQL语句:

语句

描述

程序化SQL

程序开发使用的SQL,主要用于非交互命令行方式

DECLARE

为查询声明一个游标

EXPLAIN

为查询描述数据执行计划

OPEN

检索查询结果打开一游标

FETCH

从游标中获取一行查询结果

CLOSE

关闭游标

PREPARE

为动态执行准备SQL语句

EXECUTE

动态执行SQL语句

DESCRIBE

描述准备好的查询

完整性检查:

域完整性:

NULL约束:可以指定一个列中的值是否可以为NULL

CHECK约束:用来检查输入的值是否满足某一约束条件

DEFAULT约束:如果输入数据中没有指定该列具体的值,可以直接使用DEFAULT约束指定的默认值

实体完整性:

主键:指定的键值组合在集合内只能有唯一的一个值(不可以包含NULL值)

UNIQUE约束:指定的键值组合在集合内只能有唯一的一个值(可以包含NULL值)

参照完整性:

外键:指定的键值组合和外部的键值相对应

什么是索引?

索引实际上是对基本表中的一个列或一组列的数据进行预处理,建立索引的目的是提升查询性能

常见的索引有B树索引、哈希索引、位图索引等

创建索引使用CREATE INDEX语句:CREATE INDEX ON

UNIQUE索引:

1.可以通过UNIQUE关键字来指定创建的索引是否具有唯一性

2.UNIQUE关键字指定的唯一性和主键的唯一性有一些不同。主键中的所有列不能有NULL值,而UNIQUE关键字创建的唯一索引可以允许有NULL值,由于NULL值与NULL值是不相等的,所以UNIQUE索引的唯一性表现在可以具有NULL值,而且可以有多组NULL值

3.查询过程中索引匹配是数据库自动完成的,不需要用户明确指定。

SQL语法视图

什么是视图?

视图是一个虚拟表,其内容由查询定义,视图同表一样,也包含一系列带有名称的列

视图分为两种,普通视图和物化视图:

普通视图不保存数据,物化视图保存数据

查询是:SELECT,FROM,WHERE构成

连接:多个基本表的连接结果

选择:过滤之后的元组会组成新的中间关系

连接操作还能指定连接条件

连接又可分为内连接,外连接,半连接

内连接:只有符合连接条件的结果才会作为最终的连接结果

外连接:左外连接,右外连接和全连接

半连接:SQL语法中不能直接使用半连接,基于连接条件谓词中是否含有否定谓词

集合操作:

集合操作主要是对两个结果进行并,差和交的运算

名称

描述

UNION

并操作,将UNION两端的结果集做并集操作

EXCEPT

差操作,从左侧的结果集中排除右侧的结果集

INTERSECT

交集,对两个结果集取做交集操作

SQL语言:

通过权限管理来对数据对象的访问进行控制

权限分为系统权限和对象权限

通过GRANT语句来授予权限,通过REVOKE语句来收回权限

SQL语法事务控制

事务是由一组SQL语句序列构成的原子操作集合,具有原子性、一致性、隔离性和持久性的特点

事务分为隐式事务和显式事务

隐式事务对于用户执行的每个SQL语句,数据库自动启动事务,根据SQL语句的成功与否自动进行提交或者回滚操作

显式事务需要用户通过SQL事务命令指定事务块的边界

PLSQL存储过程

存储过程是一组SQL语句和逻辑控制的集合

存储过程可以带有参数,参数的类型就是SQL标准中的类型。存储过程的参数有三种不同的输入输出模式:IN,OUT,INOUT

函数必须指定返回值,存储过程必须独立调用

触发器是数据库事件的相应机制

每一个DML操作都会产生一个触发事件,如果操作对象上创建了与事件对应的触发器,并且满足触发器的触发条件,那么就会触发动作。同一个触发器可以指定多个触发事件,每个事件发生时都会激活触发器来执行触发器的动作。

SQL语法游标

处理数据的一种方法,是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

通过move命令移动游标,fetch获得游标指向的内容


原文地址:https://blog.csdn.net/qq_43714918/article/details/144313407

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!