🎃个人专栏:
🐬 算法设计与分析:算法设计与分析_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博客
欢迎收看,希望对大家有用!
目录
- 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体
- 可以独立完成数据库生命周期中的全部活动:
- 定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库;
- ?对数据库中的数据进行查询和更新;
- ?数据库重构和维护
- 数据库安全性、完整性控制,以及事务控制
- 嵌入式SQL和动态SQL定义
- 用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据库的运行。
- 数据操作符统一
- 非关系数据模型的数据操纵语言“面向过程”,必须指定存取路径。
- SQL只要提出“做什么”,无须了解存取路径。
- ?存取路径的选择以及SQL的操作过程由系统自动完成。
- 非关系数据模型采用面向记录的操作方式,操作对象是一条记录
- SQL采用集合操作方式 ?
- 操作对象、查找结果可以是元组的集合 ?
- 一次插入、删除、更新操作的对象可以是元组的集合
- SQL是独立的语言 ?
- 能够独立地用于联机交互的使用方式 SQL又是嵌入式语言
- SQL能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用
- 本身独立存在的表
- SQL中一个关系就对应一个基本表
- 一个(或多个)基本表对应一个存储文件
- 一个表可以带若干索引
- 逻辑结构组成了关系数据库的内模式
- 物理结构对用户是隐蔽的
- 从一个或几个基本表导出的表
- 数据库中只存放视图的定义而不存放视图对应的数据
- 视图是一个虚表
- 用户可以在视图上再定义视图
数据字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有对象的定义信息以及一些统计信息:
- 关系模式、表、视图、索引的定义
- 完整性约束的定义
- 各类用户对数据库的操作权限
- 统计信息等
关系数据库管理系统在执行SQL的数据定义语句时,实际上就是在更新数据字典表中的相应信息。
SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] … ? ? ? ?
FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句)? [AS]<别名>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ];
两种插入数据方式:
语句格式:
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以上的标准。