您的位置:首页 > 新闻 > 热点要闻 > 兰州市城市建设设计院_手机之家论坛官网_app软件开发_产品市场推广方案范文

兰州市城市建设设计院_手机之家论坛官网_app软件开发_产品市场推广方案范文

2025/3/1 8:51:04 来源:https://blog.csdn.net/weixin_64968161/article/details/145928056  浏览:    关键词:兰州市城市建设设计院_手机之家论坛官网_app软件开发_产品市场推广方案范文
兰州市城市建设设计院_手机之家论坛官网_app软件开发_产品市场推广方案范文

一、概述

特点

1)综合统一:数据定义语言(DDL)、操作语言(DML)、控制语言(DCL)功能于一体。

2)高度非过程化:只需提出做什么,无需了解存储路径。

3)SQL采用集合操作方式

4)提供多种实现方式:独立语言(可独立用于联机交互)、嵌入式语言(嵌入到高级语言)

5)支持三级模式:视图(外模式)、基本表(模式)、存储文件(内模式)

二、数据定义

模式的定义与删除

定义

删除

drop schema <模式名> <cascade|restrict>

 cascade(级联):删除模式的同时把里面所有的数据对象都给删除

 restrict(限制):若模式内有内容,则拒绝执行。

基本表的定义、删除与修改

定义表:

create table <表名>(
属性名1 数据类型 列完整性约束,
属性名2 数据类型 列完整性约束,
属性名3 数据类型 列完整性约束,
表完整性约束);

定义表所属模式:

修改表 

alter table <表名>add 新列名 类型 约束 | alter 列名 类型 | drop 完整性约束名

删除表 

drop table 表名 [cascade|restrict]

cascade:删除表没限制,与之相关的视图、索引、触发器啥的都一起删除。 

restrict:有关联无法删除。

索引的建立与删除

相关内容:DBMS一般自动建立主键和非空的索引,DBMS自动维护索引、DBMS自动选择是否使用哪些索引。

是内部实现技术(属于内模式范畴

建立索引

create [unique][cluster] index 索引名 on 表名(属性<顺序:desc|asc>...);

一个表只能有一个聚簇索引,建立在经常查询的列上。

删除索引

drop index 索引名

数据查询

1、单表查询

select distinct sname from student

distinct去掉重复的行。

查询条件

1、比较大小

2、确定范围:between and      not between and 

3、确定集合:in  (集合)                      not in

4、字符匹配:like                              not like        _:单个字符   %:任意字符

5、涉及空值的查询:is null                is not null    (is不能用=代替)

6、多重条件查询:and    or 

7、排序关键词: order by  属性  asc | desc

8、聚集函数:count、sun、avg、max、min

9、group by子句   Having 条件  

having短语作用于组,从中选择满足条件的组,而where是选择满足条件的列。

2、连接查询

等值查询

自身连接:

 一个表与自己连接(需要给表起别名)

外连接:

将主体表中不满足连接条件的元组也一并输出。

select student.sno
from student left out join sc on student.sno=sc.sno;

左外连接、右外连接、全外连接

复合条件连接:where有多个条件

3、嵌套查询

子查询:不能用order by语句

不相关子查询:子查询的查询条件不依赖于父查询。

相关子查询:依赖父查询。

带有比较运算符的子查询:子查询一定要在运算符之后

带有ANY或ALL谓词的子查询:

带有exists谓词的子查询:exists谓词的子查询不返回任何数据,只产生逻辑真值(true)和假值(false),子查询的目标列通常都用*

用exists或not exists实现全称量词(难点)

4、集合查询

union:并操作

intersect:交操作 

except:差操作

查询结果的列数和对应的数据类型必须相同。

union:将多个查询结果合起来后自动去除重复元组

union all:保留重复元组。

数据更新

1、插入数据

普通插入元组:

insert into 表名(列名1,列名2...)
values (值1,值2,...)

子查询插入数据

insert into 表名(列名1,列名2...)
子查询;

2、修改数据

update 表名
set 列名1=新值1,列名2=新值2...
where 条件表达式

3、删除数据

删除指定表中满足where子句条件的元组。

delete from 表名
where 条件表达式

视图

虚表:从基本表中导出的表,基表的数据发生变化,视图查询的数据也会改变

视图的操作

1、创建视图
create view 视图名 (列名1,列名2...)
as 子查询
[with check option]

子查询不允许有order by或distinct短语

执行create view时并不执行select语句,只是将视图的定义存入数据字典,查询视图时也是查询基本表中的数据。

with check option的作用:在修改、删除、插入操作时自动加上where中的条件。

基于视图的视图、带表达式的视图、分组视图(group by)、

不指定属性列:

2、删除视图
drop view 视图名 [cascade | restrict]

cascade:将该视图和由他导出的所有视图一起删除。

restrict:有对视图的依赖,则不允许删除。

3、更新视图

允许对行列子集视图进行更新。

但一些视图是不可更新的,因为这些视图不能唯一地有意义地转为对相应基本表的更新。

4、视图的作用

简化用户操作、提供了一定的逻辑独立性、提供安全保护、更清晰的表达查询。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com