分组后分页_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…

BEM思想之彻底弄清BEM语法

BEM的意思就是块&#xff08;block&#xff09;、元素&#xff08;element&#xff09;、修饰符&#xff08;modifier&#xff09;,是由Yandex团队提出的一种前端命名方法论。这种巧妙的命名方法让你的CSS类对其他开发者来说更加透明而且更有意义。BEM命名约定更加严格&#xf…

Hibernate Search 4.2最终发布:支持空间查询

JBoss已宣布发布Hibernate Search 4.2 final。 您可以从Sourceforge下载它或使用Maven构件 。 在新版本中&#xff0c;包含了一些有趣的功能&#xff1a; Hibernate Search现在支持空间查询 。 使用Spatial扩展&#xff0c;您可以将全文查询与基于到空间点的距离的限制结合起…

推荐算法

5类系统推荐算法,非常好使,非常全 今日头条用了哪五种推荐算法 视频 今日头条核心技术“个性推荐算法”揭秘转载于:https://www.cnblogs.com/lhuser/p/8306092.html

python的应用包括哪些_Python应用领域有哪些?

1、数据分析与处理通常情况下&#xff0c;Python被用来做数据分析。用C设计一些底层的算法进行封装&#xff0c;然后用Python进行调用。因为算法模块较为固定&#xff0c;所以用Python直接进行调用&#xff0c;方便且灵活&#xff0c;可以根据数据分析与统计的需要灵活使用。Py…

win10系统同时安装python2和python3

1、官网下载python2和python3版本 2、安装python3&#xff0c;勾上Add Python3.5 to PATH&#xff0c;自定义选择安装目录&#xff0c;安装&#xff0c;验证&#xff1a;WINR--->cmd&#xff0c;输入python看看是否安装python3 3、安装python2&#xff0c;自定义安装目录&am…

使用NoSQLUnit测试Spring Data MongoDB应用程序

Spring Data MongoDB是Spring Data项目中的项目&#xff0c;它提供了Spring编程模型的扩展&#xff0c;用于编写使用MongoDB作为数据库的应用程序。 要使用NoSQLUnit为Spring Data MongoDB应用程序编写测试&#xff0c;除了考虑Spring Data MongoDB使用一个名为_class的特殊属…

20170117小测

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

java实现红包要多少钱_java实现红包的分配算法

个人推测&#xff0c;微信红包在发出的时候已经分配好金额。比如一个10元的红包发给甲乙丙三个人&#xff0c;其实在红包发出去的时候&#xff0c;已经确定了第一个会领取多少&#xff0c;第二个会领取多少金额。而不是在领取的时候才计算的。下面贴出实现方法&#xff1a;publ…

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

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

HDU1042 N!(大整数类应用)

Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!InputOne N in one line, process to the end of file.OutputFor each N, output N! in one line.Sample Input123Sample Output126Code&#xff1a;#include <iostream> #includ…

Java内部具有原子更新的动态热交换环境

有人可能会说上述标题可以简称为OSGi &#xff0c;我想在一开始就放弃这种思考过程。 对于OSGi而言&#xff0c;这不是一个冒犯&#xff0c;这是一个很棒的规范&#xff0c;在实现层或可用性层上都弄得一团糟&#xff0c;这就是我对OSGi的信念。 当然&#xff0c;您可以使用OS…

Css Secret 案例Demo全套

Css Secret 案例全套 github地址 案例地址 去年买了一本CSS揭秘的css专题书&#xff0c;该书揭示了 47 个鲜为人知的 CSS 技巧&#xff0c;主要内容包括背景与边框、形状、 视觉效果、字体排印、用户体验、结构与布局、过渡与动画等。去年买入时&#xff0c;就决定将里面所有…

底量超顶量超级大黑马指标源码_底量超顶量+地量买点_月线底量超顶量大牛股,底量超顶量超级大黑马,底量超顶量买入指标,后量超前量买入指标_指标公式分享交流论坛_理想论坛 - 股票论坛...

l 图形特征&#xff1a;(1) 当股价从头部滑落一段时间后&#xff0c;会有一个见底回升的过程。(2) 这个头部区间的成交量称为顶量&#xff0c;见底回升时的成交量称为底量。(3) 如果底量能大大地超过顶量&#xff0c;则较容易通过顶量造成的压力带。…

php var_export与var_dump 输出的不同

问题发现在跟踪yratings_get_targets的时候&#xff0c;error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit(“ratings”)的返回是NULL 导致我以为是无法建立和DB的连接&#xff0c;走错路了一天。最后才发现&#xff0c;这…

Servlet 开发

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

JAX-RS Bean验证错误消息国际化

Bean验证简介 JavaBeans验证&#xff08;Bean验证&#xff09;是一种新的验证模型&#xff0c;可作为Java EE 6平台的一部分使用。 约束条件支持Bean验证模型&#xff0c;该约束以注释的形式出现在JavaBeans组件&#xff08;例如托管Bean&#xff09;的字段&#xff0c;方法或类…

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…

python调用ffmpeg合并_用ffmpeg命令处理mp4剪切与合并

1. 剪切&#xff1a;./ffmpeg -ss 00:00:06 -t 00:00:12 -i input.mp4 -vcodec copy -acodec copy output.mp4意思是从截取从6秒开始&#xff0c;时长为12秒的视频&#xff0c;格式不变&#xff0c;输入为input.mp4输出为output.mp4-vcodec copy -acodec copy : 编码格式不变2.…