分组后分页_SQL(约束、视图、分页、序列、索引、同义词、创建用户,为用户授权、执行计划的使用 数据的导入导出)...

学习主题:SQL

学习目标:

  • 掌握约束
  • 掌握视图

修改表名与删除表

删除表中的列语句的语法结构是什么?

答:delete 表名from table where ;

删除表中的列语句的语法结构是什么?

答:delete 表名from table where ;

截断表的语句是什么?

答:truncate table 表名;

删除表的语句是什么?

答:drop table 表名;

截断表与删除的区别是什么?

答:

截断:截断表中的所有的数据,但是保留表结构,在截断表时不能给定条件(即无where)

删除:删除表中所有数据包括表结构,删除指定的where条件。

定义约束原则

答:

创建一个约束:在创建表的同时,或者在创建表之后都可以定义约束。可以给约束起名 字,但是约束名不能相同,必须是唯一的。如果没有为约束起名字,Oracle 服务器将用默 认格式 SYS_Cn 产生一个名字,这里 n 是一个唯一的整数,所以约束名是唯一的。

定义非空约束

数据库中的约束有哪些类型?

答:

非空约束(NOTNULL)

唯一性约束(UNIQUE)

主键约束(PRIMARYKEY)

外键约束(FOREIGNKEY)

用户自定义约束(CHECK)

每个约束的含义是什么?

答:

主键约束:键列必须具有唯一性,且不能为空,一个表只能含有一个主键

唯一约束:键列具有唯一性,但可以有多个null

非空约束:强制键列必须有值,不能为空

外键约束:外键约束定义在具有父子关系的表中,外键约束的子表中的列和对应父表中的列数据类型必须相同。

检查约束:根据情况为列指定条件,当条件为真时,才能插入数据

定义约束的原则是什么?

答:

创建一个约束:在创建表的同时,或者在创建表之后都可以定义表约束。可以给约束起名字,但是约束名不能相同,必须是唯一的。如果没有为约束起名字,Oracle服务器将用默认格式SYS_Cn产生一个名字,n是一个唯一的整数,所以约束名是唯一的。

定义唯一性约束

创建dept90表,包含如下列:id number具备唯一性约束、name varchar2(20)。

答:create table dept90 (id number constraint dept90_uk unique,name varchear2(20));

定义主键约束

创建dept70表,包含如下列:id number具备主键约束。

答:create table dept70(id number constraint dept70_pk primary key);

定义外键约束

创建dept40表,包含如下列:id number、d_id number并为d_id列分配键列约束参照DEPT60表的id列。

答:create table dept40(id number,d_id number ,constraint dept40_fk foreign key(d_id) references dept60(id) );

定义检查约束

创建dept30表,包含如下列:id number、salary number(8,2)。为salary分配检查约束检查条件为salary>1000。

答:create table dept30(id number,salary number(8,2) constraint dept30_ck check key(salary>1000));

禁用与启用约束

在Oracle中查看约束的数据字典表叫什么名字?

答:user_constraints

禁用约束语句的语法结构是什么?

答:alter table 表名 disable constraint 约束;

级联禁用约束语句的语法结构是什么?

答:alter table 表名 disable constraint 约束[cascade];

启用约束语句的语法结构是什么?

答:alter table 表名 enable constraint 约束;

什么是视图

什么是视图?

答:

可以通过创建表的视图来表现数据的逻辑子集或数据的组合。视图是基于表或另一个视图的逻辑表,一个视图并不包含它自己的数据,它像一个窗口,通过该窗口可以查看或改变表中的数据。视图基于其上的表称为基表。

视图的优越性是什么?

答:

视图限制数据的访问,因为视图能够选择性的显示表中的列。

视图可以用来构成简单的查询以取回复杂查询的结果。

视图对特别的用户和应用程序提供数据独立性,一个视图可以从几个表中取回数据。

视图分为几种类型?

答:

简单视图、复杂视图

不同类型的视图的区别是什么?

答:

简单视图:数据仅来自一个表,不包含函数或数据分组,能通过视图执行DML操作

复杂视图:数据来自多个表,包含函数或数据分组,不允许通过视图执行DML操作

创建简单视图

创建简单视图的语法结构是什么?

答:create view 视图名 as 创建视图所查询的语句(查询结果看成一个表);

创建复杂视图

创建一个名为DEPT_NAME的复杂视图,包含每个部门的部门名称,部门最低薪水、部门最高薪水以及部门的平均薪水。

答:create view DEPT_NAME as select d.department_name,min(e.salary) min,max(e.salary) max,avg(e.salary) avg from employees e ,departments d where e.department_id = d.department_id group by d.department_name;

视图中 DML 操作的执行规则

使用DML操作的执行规则是什么?

答;

如果视图中包含下面的部分就不能修改数据:

组函数

Group by子句

Distinct关键字

用表达式定义的列

如何设置视图拒绝DML操作?

答:在创建视图的后面加上with read only 表示当前视图为只读视图

删除视图

如何删除视图?

答:drop view 视图名;

删除视图后数据为什么不会丢失?

答:删视图不会丢失数据,因为视图是基于数据库中的基本表的。

什么是内建视图

什么是内建视图?

答:内建视图是一个带有别名的可以在SQL语句中使用的子查询。

学习主题:SQL

学习目标:

  • 掌握分页
  • 掌握序列
  • 掌握索引

使用内建视图实现TOP-N分析

什么是TOP-N分析?

答:TOP-N查询在需要基于一个条件,从表中显示最前面的n条记录或最后面的n条记录时是有用的。(排序)

从 employees表中显示挣钱最多的 3 个人的名字及其薪水。

答:select rownum,last_name,salary from(select last_name,salary from employees order by salary desc)where rownum<=3;

显示 employees表中4 个资格最老的雇员显示他们的入职时间与名字。

答:select rownum,hire_date,last_name from (select hire_date,last_name from employees order by hire_date) where rownum<=4;

Oracle的分页查询

什么是分页查询?

答:查询数据时不要一次性查询所有数据,每次只查询一部分数据。这样分批次地进行处理,可以呈现出很好的用户体验,对服务器的消耗资源也不大。

查询雇员表中数据,每次只返回10条数据。

答:select * from (select rownum rn,e.* from employees e) em where em.rn between 1 and 10;

什么是序列

什么是Oracle的序列?

答:序列是用户创建的数据库对象,序列会产生唯一的整数。

创建序列的语法结构是什么?

答:create sequence 序列名;

创建序列

创建一个序列名称为:dept_seq,增长间隔为10,从120开始,最大值为9999,不缓存。不循环使用。

答:create sequence dept_seq increment by 10 start with 120 maxvalue 9999 nocache nocycle;

通过PL/SQL Developer创建和dept_seq相同的序列,并命名为dept_seq2。

答:

1df0d9b8a0b519b949f12605213bf2ff.png

79a42664bdfaf1b040e0648c3091a6b2.png

使用序列

Oracle记录序列的数据字典表叫什么?

答:user_sequences

Oracle的序列中包含多少伪列?每个伪列的特点是什么?

答:

Oracel序列中包含两个伪列

Nextval:返回下一个可用的序列值,它每次返回一个唯一的被引用值,即使对于不同的用户也是如此。

Currval:获得当前的序列值。

在currval获得一个值以前,nextval对该序列必须发布。

修改删除序列

修改序列的语法结构是什么?

答:alter sequence 序列名;

修改序列的原则是什么?

答:

必须是被修改序列的所有者,或者有alter权限。

用alter sequence 语句,只有以后的序列数会受影响。

用alter sequence语句,start with选项不能被改变。为了以不同的数重新开始一个序列,该序列必须被删除和重新创建。

什么是索引

什么是索引?

答:

在关系型数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

索引有哪些类型?

答:索引有唯一性索引和非唯一性索引。

创建索引的方式有几种?

答:创建索引的方式有两种,自动创建和手动创建。

唯一性索引被系统自动创建,非唯一性索引需要手动创建。

索引的使用

什么情况下创建索引?

答:

一个列包含一个大范围的值

一个列包含很多的空值

一个或多个列经常同时在一个where子句中或一个连接条件中被使用

表很大,并且经常的查询期望取回少于百分之2到4的行。

什么情况下不创建索引?

答:

表很小

不经常在查询中作为条件被使用的列

大多数查询期望取回多于表中百分之2到4的行

表经常被更新

被索引的列作为表达式的一部分被引用

创建索引(单行索引,复合索引,函数索引)

Oracle的非唯一性索引包含哪些类型?

答:单行索引、复合索引、函数索引

创建索引的语法结构是什么?

答:create index 索引名 on 表名(列名);

删除索引的语法结构是什么?

答:drop index 索引名;

学习主题:SQL

学习目标:

  • 掌握同义词
  • 掌握创建用户,为用户授权

同义词的使用

什么是Oracle的同义词?

答:

同义词可以去除对象名必须带的方案限制,并提供给你一个可替换表名、视图名、序列名和存储过程名或其他对象名。

创建同义词的语法结构是什么?

答:create synonym 别名 for 表名

删除同义词的语法结构是什么?

答:drop synonym 别名;

创建用户

什么是Oracle的用户?

答:Oracle用户是用来连接数据库和访问数据库对象的。

创建用户的语法结构是什么?

答:create user 用户名 identified by 密码;

删除用户的语法结构是什么?

答:drop user 用户名;

删除用户同时删除该用户下的其他对象的语法结构是什么?

答:drop user 用户名 cascade;

授予用户系统权限

数据库控制语言的作用是什么?

答:为用户分配权限。

撤销用户系统权限

撤销权限的句法结构是什么?

答:revok 权限 from 用户;

(授予是 grant to)

通过角色为用户授权

什么是角色?

答:

角色是命名的可以授予用户的相关权限的组,该方法使得授予、撤回和维护权限容易的多。一个用户可以使用几个角色,并且几个用户也可以被指定相同的角色。(权限的集合)

创建角色的语法结构是什么?

答:create role 角色名;

为角色授予权限的语法结构是什么?

答:grant 权限 to 角色名;

为用户授予角色的语法结构是什么?

答;grant 角色名 to 用户名;

撤销用户角色的语法结构是什么?

答:revoke 角色 from 用户名;

学习主题:SQL

学习目标:

  • 掌握执行计划的使用
  • 掌握数据的导入和导出

什么是执行计划

什么是执行计划?

答: 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。

执行计划中的Cardinality、Bytes、COST、Time字段分别表示什么含义?

答:

Cardinality:基数,Oracle估计的当前操作的返回结果集行数。

Bytes:字节,执行该步骤后返回的字节数。

COST:消耗、CPU消费,Oracle估计的该步骤的执行成本,用于说明SQL执行的代价。

Time:时间,Oracle估计的当前操作所需要的时间。

执行计划中的执行顺序是什么顺序?

答:缩进最多的最先执行;(缩进相同时,最上面的最先执行)

执行计划中的表与索引的访问方式

数据库中的TABLE ACCESS FULL表示什么含义?

答:全表扫描

数据库中的TABLE ACCESS BY INDEX ROWID表示什么含义?

答:通过ROWID的表存取

数据库中的TABLE ACCESS BY INDEX SCAN表示什么含义?

答:索引扫描

执行计划的使用

通过执行计划分析查询employees表中的所有数据的查询语句。

答:

6eacfb79bc96ddc45237f289d6bdf7cf.png

通过执行计划分析查询employees表中employees_id为100的雇员的查询语句。

答:

ac262dced77fa0cb395c534f7028692d.png

通过执行计划分析查询雇员名字为Tarloy的雇员的查询语句。

答:

9fe462ea1a074852facb64486c73d2cb.png

通过执行计划分析查询雇员名字中含有a的雇员的查询语句。通过执行计划分析查询雇员名字中含有a的雇员的查询语句。

答:

2cf6dec6f7aee2318030cc385be17301.png

Oracle的数据导入与导出

数据库导入导出需要注意什么?

答:

目标数据库要与源数据库有着名称相同的表空间。

目标数据在进行导入时,用户名尽量相同(这样保证用户的权限级别相同)

目标数据库每次在进行导入前,应做好数据备份,以防数据丢失。

弄清是导入导出到相同版本还是不同版本

目标数据导入前,弄清是数据覆盖还是仅插入新数据或替换部分数据表

确定目标数据库磁盘空间是否足够容纳新数据,是否需要扩充表空间

导入导出时注意字符集是否相同,一般Oracle数据库的字符集只有一个,并且固定,一般不改变

确定操作者的账号权限。

导出数据格式有几种?每种的特点是什么?

答:

Dmp格式:.dmp是二进制文件,可跨平台,还能包含权限,效率好

Sql格式:.sql格式的文件,可用文本编辑器查看,通用性比较好,适合小数据量导入导出。尤其注意的是表中不能有大字段,如果有会报错。

Pde格式:.pde格式的文件,.pde为PLSQL Developer自有的文件格式,只能用PLSQL Developer工具导入导出,不能用文本编辑器查看。

exp与imp命令讲解

导出数据的命令格式是什么?

答:exp 用 户 名 / 密 码 @ 连 接 地 址 : 端 口 / 服 务 名 file= 路 径 / 文 件 名 .dmp

导入数据的命令格式是什么?

答:imp 用 户 名 / 密 码 @ 连 接 地 址 : 端 口 / 服 务 名 file= 路 径 / 文 件 名 .dmp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息...

第三百三十四节&#xff0c;web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻&#xff0c;爬取Ajax动态生成的信息 crapy爬取百度新闻&#xff0c;爬取Ajax动态生成的信息&#xff0c;抓取百度新闻首页的新闻rul地址 有多网站&#xff0c;当你浏览器访问时看到的信息&#xf…

20170117小测

今天再次迎来了我们的例行考试。 T1&#xff1a; 首先我们考虑那些点是可以共存的&#xff0c;我们可以枚举一个质数做他们的gcd&#xff0c;然后把这些点放在一张图里求直径。所以我们要做的就是把这些点的值分解质因数&#xff0c;对每个质因数挂一个链&#xff0c;代表有那些…

iOS中Safari浏览器select下拉列表文字太长被截断的处理方法

网页中的select下拉列表&#xff0c;文字太长的话在iOS的Safari浏览器里会被自动截断&#xff0c;显示成下面这种&#xff1a; 安卓版的浏览器则没有这个问题。 如何让下拉列表中的文字在iOS的Safari浏览器里显示完整呢&#xff1f;答案是使用<optgroup></optgroup>…

Servlet 开发

1. Servlet &#xff08;很久远的东西&#xff0c;但是现在学习原理&#xff09; html css js 前端页面&#xff08;静态的&#xff09; form action ".html" Servlet 允许将action属性设置为映射&#xff0c;通过映射找到相关的Servlet class 进行数据的处理。…

CentOS 7 Flannel的安装与配置

1. 安装前的准备 etcd 3.2.9 Docker 17.12.0-ce 三台机器10.100.97.236, 10.100.97.92, 10.100.97.81 etcd不同版本之间的差别还是挺大的&#xff0c;使用V3版本跟Flannel整合起来会有坑&#xff0c;下文详解。 2. 安装 sudo yum install -y flannel 安装后&#xff0c;版本是0…

给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...

不多说&#xff0c;直接上干货&#xff01; Impala和Hive的关系&#xff08;详解&#xff09; 扩展博客 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤&#xff08;图文详解&#xff09; 参考 hortonworks ambari集成impala ambari hdp 集成 imp…

html中常见的小问题(1)

问题&#xff1a;自适应高度的块级元素内添加图片后&#xff0c;其高度会比图片高度多出一块 简单代码如下&#xff1a; <!doctype html> <html><head><style>.box{width:533px;margin:100px auto;border:1px solid red;}</style></head>…

JmeterAnt构建自动化测试平台

一、jmeter jmeter下载地址为&#xff1a;http://jmeter.apache.org/download_jmeter.cgi 下载完成后&#xff0c;解压文件&#xff0c; 加压后&#xff0c;到biin目录下&#xff0c;点击jmeter.bat启动jmeter(如果是linux环境&#xff0c;给jmeter.sh可执行的权限&#xff0c;…

input复选框checkbox默认样式纯css修改

修改之前的样式 修改之后的样式 html <input type"checkbox" name"btn" id"btn1"><label for"btn1">按钮1</label> css input[type"checkbox"]{width:20px;height:20px;display: inline-block;text-al…

c++word书签_「职场必备」干货!WORD办公软件快捷键,小编整理拿走不谢

小编工作时的照片&#xff0c;不上镜CtrlShiftSpacebar创建不间断空格Ctrl -(连字符)创建不间断连字符CtrlB使字符变为粗体CtrlI使字符变为斜体CtrlU为字符添加下划线CtrlShift缩小字号CtrlShift>增大字号CtrlQ删除段落格式CtrlSpacebar删除字符格式CtrlC复制所选文本或对象…

前端学习---css基本知识

css基本知识 我们先看一个小例子&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><div style"background-color:#2459a2;height:…

mysql 从库_mysql数据库主从配置

在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程&#xff0c;本文将讲解mysql数据库的主从配置方法。mysql数据库进行主从配置后&#xff0c;可以实现数据库的备份、同时应用也可以实现读写分离&#xff0c;提高应用的并发量。1、主从原理从《高性能mysql》…

前端学习---html基础知识

HTML基本知识 学习html首先我们先看看HTML本质&#xff1a; web框架本质 我们在学socket&#xff0c;我们创建一个socketserver&#xff0c;然后运行起来&#xff0c;有一个client客户端要连接socket服务端&#xff0c;连接上之后&#xff0c;如果两边都没有close&#xff0…

前端:css

一,css介绍 CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;它就会按照这个样式表来对文档进行格式化&#xff08;渲染&#xff09;。 二,CSS语法 1,每个CSS样式由两个组成部分&#xff1a;选择器…

爬虫框架:scrapy

阅读目录 一 背景知识二 同步、异步、回调机制三 高性能一 背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程&#xff0c;如果我们有多个url待爬取&#xff0c;采用串行的方式执行&#xff0c;只能等待爬取一个结束后才能继续下一个&#xff0c;效率会非常低。 需要…

为Openshift + MongoDb应用程序编写验收测试

验收测试用于确定是否满足规范要求。 它应该在与生产环境尽可能相似的环境中运行。 因此&#xff0c;如果您的应用程序已部署到Openshift中&#xff0c;则您将需要一个与生产环境中使用的帐户平行的帐户&#xff0c;以运行测试。 在这篇文章中&#xff0c;我们将为部署到Opensh…

CSS 自适应布局

前言 本篇文章将介页面布局中的自适应布局&#xff0c;常见的自适应布局有以下2种&#xff1a;左列固定右列自适应、左右两列固定中间自适应。 1. 左列固定右列自适应布局方案 说明&#xff1a;左列固定右列自适应&#xff0c;也可以为右列固定左列自适应&#xff0c;常见于中…

mysql的表导出er关系图_使用Navicat生成ER关系图并导出的方法

平时管理数据库一般都是用cmd命令提示符&#xff0c;或是IDEA Intellij自带的Data source&#xff0c;使用Navicat比较少。这段时间&#xff0c;由于要对前后端交互的数据结构进行设计&#xff0c;直接写文档联系多表时有些困难&#xff0c;想着如果有关系图就直观很多。想到Na…

Scude导入MySQL_FM2017_FMF赛季更新和真实修正数据库[更新至9.9,超过89000个更新]

FM2017_FMF赛季更新和真实修正数据库[更新至9.9&#xff0c;超过89000个更新]FM2017_FMF赛季更新和真实修正数据库[更新至9.9&#xff0c;超过89000个更新](2)这是国外玩家制作的一款FM2017_FMF冬季更新和真实修正数据库&#xff0c;更新至9月9日&#xff0c;超过89000个更新内…

音视频和表单的详情

网页中的音视频 <audio> 和 <vedio> 标签属性&#xff1a;autoplay 自动播放 controls 控制播放 loop 循环播放 表单 HTML 表单用于收集用户输入。 标签<form> 标签属性 action 数据的路径 enctype 传输文件 enctype"multipart/form-data" method …