SQL(structured query language)语言
yuyutoo 2025-01-11 18:30 3 浏览 0 评论
SQL(structured query language)关系数据库标准语言
-SQL数据库是表的汇集,它用一个或多个SQL模型定义
-基本表是实际存储在数据库中的表,视图是由若干个基本表或其他视图导出的表(虚表)
-SQL用户可以是应用程序,也可以是终端用户
1. 数据库语言
2. SQL概述
SQL的3个标准:ANSI(美国国家标准机构)SQL、SQL2(SQL-92)、SQL3(SQL-99)
3. 数据库定义
(1)创建表(create table语句格式)
列级完整性约束条件有null(空)和unique(取值唯一)。如not null unique表示取值唯一,不能取空值。
(2)修改表语句格式
新增加的列一律为空
(3)删除表(drop table)
(4)索引
-索引的作用
在数据库中,索引是数据库程序无需对整个表进行扫描,就可以从其中找到所需数据。
数据库的索引是某个表中一列或者若干列值的集合和响应的指向表中物理标识这些值的数据页的逻辑指针清单。
-聚集索引与非聚集索引
聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据。
非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序,非聚集索引的叶节点存储的是组成非聚集索引的关键字值和行定位器。
-建立和删除索引
建立索引语句格式
删除索引语句格式
(5)定义、删除、更新视图
视图是从一个或多个表或视图中导出来的表,其结构和数据是建立在对表的查询基础上的。视图和正式的表一样,但本质上是个虚拟表。
-使用视图的优点和作用如下
?使用视图可以集中数据、简化和定制不同用户对数据库的不同数据要求
?使用视图可以屏蔽数据的复杂性,用户不必了解数据库的结构,就可以方便地使用和管理数据,简化数据权限管理和重新组织数据以便输出到其他应用程序中。
?视图可以使用户只关心其感兴趣的某些特定数据及其所负责的特定任务,而那些不需要的或者无用的数据则不在视图中显示。
?视图大大地简化了用户对数据的操作。
?视图可以让不同的用户以不同的方式看到不同或者相同的数据集。
?在某些情况下,由于表中数据量太大,因此在设计表时常将表进行水平或者垂直分割,但表结构的变化对应用程序会产生不良的影响。
?视图提供了一个简单而有效的安全机制。
-视图的创建
创建视图的规定:
-视图的删除
4. 数据操作
SQL的数据操作功能包括SELECT(查询)、INSERT(插入)、DELETE(删除)、UPDATE(修改)。
(1)SELECT基本结构
-语句格式
-要点
WHERE子句对应的是关系代数中的选择谓词。
-where子句的条件表达式中可以使用的运算符
-一个典型SQL查询具有如下形式:
(2)简单查询
Select from where即可
(3)连接查询
查询涉及两个以上的表,则称为连接查询。
(4)子查询与聚集函数
-子查询也称嵌套查询。嵌套查询是指一个SELECCT-FROM-WHERE查询块可以嵌入另一个查询块之中。SQL中允许多重嵌套。
-聚集函数
聚集函数是以一个值的集合为输入,返回单个值的函数。SQL提供了5个预定义的集函数。
集函数的功能
ANY和ALL谓词的含义及等价的转换关系
(5)分组查询
-GROUP BY子句
Where子句后加上GROUP BY子句可以对元祖进行分组。保留字GROUP BY后面跟着一个分组属性列表。
-HAVING子句
(6)更名运算
old-name AS new-name
(7)字符串操作
使用操作符like的模式匹配。使用两个特殊的字符来描述模式:"%"匹配任意字符串;"_"匹配任意一个字符。模式是大小写敏感的。
(8)集合操作
保留字UNION/INTERSECT和EXCEPT分别对应∪、∩和-
(9)视图的查询和删除
-像查询基本表那样对视图进行查询
-视图删除
DROP VIEW 视图名
-视图更新
视图更新的规则
-WITH子句
WITH子句提供了定义一个临时视图的方法,该定义只对随WITH子句出现的查询有效
(10)插入、删除和修改语句
-插入语句基本格式
-删除语句基本格式
DELETE FROM 基本表名
【where条件表达式】
-修改语句表达式
UPDATE 基本表名
SET 列名=值表达式(,列名=子表达式...)
【WHERE 条件表达式】
5. SQL中的授权
(1)主键约束PRIMARY KEY
-完整性约束条件
-完整性控制
定义功能、检测功能、处理功能
-实体完整性(使用'PRIMARY KEY'子句)
关系中只能有一个主键。声明主键有两种方法:
1)将PRIMARY KEY保留字加在属性类型之后
2)在属性列表中引入一个新元素,在元素包含保留字PRIMARY KEY和用圆括号扩起的构成键的属性或属性组列表
(2)外键约束FOREIGN KEY
(3)属性值上的约束
-NULL
-CHECK检查子句
(4)全局约束
(5)授权与销权
-授权语句格式
PUBLIC:接受权限的用户可以是单个或多个具体的用户,PUBLIC参数可将权限赋给全体用户
WITH GRANT OPTION:若指定了此子句,那么,获得权限的用户还可以将权限赋给其他用户
-常见的操作权限
-收回权限
6. 触发器
(1)概述
-触发器的主要特点
-触发器注意要点
(2)创建触发器
CREATE TRIGGER
(3)删除触发器
7. 嵌入式SQL
(1)SQL与宿主语言接口
-预编译
-区分主语言语句与SQL语句
-主语言工作单元与数据库工作单元通信
1)SQL通信区
2)主变量
3)游标
--定义游标
--打开游标
--推进游标
--关闭游标
(2)动态SQL
SQL的动态组件允许程序构造和提交SQL查询。与此相反,嵌入式SQL语句必须在编译是完全确定,由预处理程序预编译和宿主语言编译程序编译。
-动态SQL预备语句格式
-动态SQL执行语句格式
8. SQL-99所支持的对象关系模型
(1)嵌套关系
(2)复杂类型
-集合类型
-结构类型
-复杂类型值的创建
(3)继承
-类型继承
-表继承
(4)引用类型
(5)与复杂类型有关的查询
-路径表达式
-以集合体为值的属性
-嵌套与解除嵌套
(6)函数与过程
-SQL函数与过程
-外部语言程序
-过程的构造
相关推荐
- 建筑福利-pdf转dwg格式转换器,再也不用描图-极客青年
-
作为一名经常熬夜画图的建筑狗或者cad用户,你体验过pdf图纸描图到cad吗?前几天一个老同学找我,说他的毕业设计需要我帮忙,发给我一份pdf图纸文件,问我怎么把pdf图纸转换成dwg格式。机智的我灵...
- 想学 HTML,不知从何入手?看完这篇文章你就知道了
-
很多人都说HTML是一门很简单的语言,看看书,看看视频就能读懂。但是,如果你完全没有接触过,就想通过看一遍教程,背背标签,想要完全了解HTML,真的有点太天真了。HTML中文...
- 「前端」HTML之结构
-
今天继续为大家分享前端的知识,如果对前端比较感兴趣的小伙伴,可以关注我,我会更大家继续分享更多与前端相关的内容,当然如果内容中又不当的或者文字错误的,欢迎大家在评论区留言,我会及时修改纠正。1.初识H...
- 手把手教你使用Python网络爬虫下载一本小说(附源码)
-
大家好,我是Python进阶者。前言前几天【磐奚鸟】大佬在群里分享了一个抓取小说的代码,感觉还是蛮不错的,这里分享给大家学习。...
- 用于处理pdf文件格式的转换器
-
在上传过程中如果单个文件太大则容易中断,而且文件太大的话对与存储也有些弊端。那么我们应该想到将文件进行压缩(注意这里压缩指的是不改变文件格式的压缩,而不是用变成压缩文件。这里就将以下用专门的软件压缩P...
- 乐书:在线 Kindle 电子书制作和转换工具
-
之前Kindle伴侣曾推荐过可以在Windows和Mac系统平台上运行的kindle电子书制作软件Sigil(教程),用它可以制作出高质量的的ePub格式电子书,当然最后还需要通...
- 付费文档怎么下载?教你5种方法,任意下载全网资源
-
网上查资料的时候,经常遇到需要注册登录或者付费的才能复制或者是下载,遇到这种情况大多数人都会选择重新查。...
- 捡来的知识!3种方法随便复制网页内容,白嫖真香呀
-
网上的资源真的多,所以许多人常常会从网上找资料。我们看到感兴趣的内容,第一时间可能会想要收入囊中。比如说截个图啊,或者挑选有意思的句子复制粘贴,记录下来。可是,有些时候,却会遇到这样的情况:1、内容不...
- AI的使用,生成HTML网页。
-
利用deepseek,豆包,kimi以及通义千问,写入相同的需求。【写一个网页,实现抽奖功能,点击“开始”,按键显示“停止”,姓名开始显示在屏幕上,人员包括:“张三”,“里斯”,“Bool”,“流水废...
- pdf转换成jpg转换器 4.1 官方正式版
-
pdf转换成jpg工具软件简介pdf转换成jpg转换器是一款界面简洁,操作方便的pdf转换成jpg转换器。pdf转换成jpg转换器可以将PDF文档转换为JPG,BMP,GIF,PNG,TIF图片文件。...
- 办公必备的office转换成pdf转换器怎么用?
-
2016-02-2415:53:37南方报道网评论(我要点评)字体刚从校园走出社会,对于快节奏的办公环境,难免会觉得有些吃力。在起步阶段力求将手头上的事情按时完工不出错,但是渐渐的你会发现,别人只...
- 为什么PDF转Word大多要收费?
-
PDF转Word大多都要收费?并非主要是因为技术上的难度,而是基于多方面的商业和版权考虑的,下面给大家浅分析下原因:...
- 如何用python生成简单的html report报告
-
前提:用python写了一个简单的log分析,主要也就是查询一些key,value出来,后面也可以根据需求增加。查询出来后,为了好看,搞个html表格来显示。需要的组件:jinja2flask...
- 学用系列|如何搞定word批量替换修改和格式转换?这里一站搞定
-
想必不少朋友都会碰到批量修改word文档内容、压缩文档图片、文件格式转换等重复性文档处理工作的需要,今天胖胖老师就推荐给大家一个免费工具XCLWinKits,一站搞定你所有的需要。什么是XCLWinK...
- 这款PDF文档转换神器,能帮你解决PDF使用中的许多难点
-
不管是平时的学习还是工作,相信许多朋友都经常接触PDF文件。可以说,PDF文件在我们的日常办公学习过程中的重要性和Word文档一样重要。在之前的更新中,小编介绍了几款非常不错的PDF文档格式转换软件,...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)