数据库#Oracle
碧宇藏龍
前路昭然,你我共进!
展开
-
数据操作(增、删、改)
数据操作在SQL语句之中,DML语法包含有两个内容:查询、更新,对于查询主要是以复杂查询为主,而更新操作主要分为三种:增加、修改、删除。所有的更新指令都是固定的,但是在更新的时候又不可能离开查询。因为涉及到修改操作,所以先将emp表备份1、数据增加数据增加的操作,语法格式如下:INSERT INTO 表名称 [(字段名称,字段名称,…)] VALUSE (数据,数据…);数据的增加...原创 2020-02-13 22:28:20 · 1324 阅读 · 0 评论 -
复杂查询案例
复杂查询案例1.案例一列出薪金高于在部门30工作的所有员工姓名和薪金、部门名称、部门人数。确定要使用的数据表:|-emp表:员工姓名和薪金|-dept表:部门名称|-emp表:统计出部门人数确定已知的关联字段:|-员工与部门:emp.deptno=dept.deptno第一步:找到30部门所有雇员的薪金第二步:以上查询中返回的是多行单列的数据,那么此时就可以使用三...原创 2020-02-13 22:15:55 · 495 阅读 · 0 评论 -
修改约束
修改约束如果说表结构的修改还在可以容忍的范畴之内,那么约束的修改是绝对100%禁止的。所有的约束必须在表创建的时候就设置完成。约束可以进行后期的添加以及后期的删除操作。但是如果要想进行这样的维护,那么必须要保证有约束名称。范例:数据脚本--删除数据表DROP TABLE book PURGE;DROP TABLE member PURGE;--清空回收站PURGE RECYCLE...原创 2020-02-05 23:30:04 · 927 阅读 · 0 评论 -
外键约束
外键约束外键约束主要是在父子表关系中体现的一种约束操作。例如:一个人有多本书,如果要设计表,则现在需要设计两张数据表。--删除数据表DROP TABLE member PURGE;DROP TABLE book PURGE;--清空回收站PURGE RECYCLEBIN;--创建数据表CREATE TABLE member( mid NUMBER, name VARCHAR...原创 2020-02-05 23:26:25 · 9739 阅读 · 0 评论 -
检查约束(CHECK、CK)
检查约束(CHECK、CK)检查约束指的是在数据列上设置一些过滤条件,当过滤条件满足的时候才可以进行保存,如果不满足则出现错误。例如:如果设置年龄的信息,年龄0~250,性别:男、女。范例:设置检查约束--删除数据表DROP TABLE member PURGE;--清空回收站PURGE RECYCLEBIN;--创建数据表CREATE TABLE member( mid ...原创 2020-02-05 23:07:50 · 5959 阅读 · 0 评论 -
主键约束(PRIMARY KEY, PK)
主键约束(PRIMARY KEY, PK)主键约束=非空约束+唯一约束。也就是说设置为主键列,不能够为空,不能够重复。范例:定义主键约束 --删除数据表DROP TABLE member PURGE;--清空回收站PURGE RECYCLEBIN;--创建数据表CREATE TABLE member( mid NUMBER, name VARCHAR2(20) NOT NU...原创 2020-02-05 22:52:55 · 9162 阅读 · 2 评论 -
唯一约束
唯一约束唯一约束的特点是在某一个列上的内容不允许出现重复,例如:现在要收集用户信息,假设包含编号、姓名、email邮箱,很明显email的数据不可能重复,所以就可以使用UNIQUE约束完成。范例:使用唯一约束范例:保存正确的数据INSERT INTO member(mid,name,email) values (5,'貂蝉',hello@qq.com);范例:保存重复的数据INSER...原创 2020-02-05 22:44:02 · 1040 阅读 · 0 评论 -
非空约束(NOT NULL)
非空约束(NOT NULL,NK)非空约束指的是表中的某一个字段的内容不允许为空,如果要使用非空约束,只需要在每个列的后面利用“NOT NULL”声明即可。范例:使用非空约束--删除数据表DROP TABLE member PURGE;--清空回收站PURGE RECYCLEBIN;--创建数据表CREATE TABLE member( mid NUMBER, name V...原创 2020-02-05 22:36:41 · 10486 阅读 · 0 评论 -
约束
约束数据表本身只支持数据的存储操作,但是在数据库上为了保证数据表中的数据完整性,特别增加了约束,数据需要满足了若干条件之后才可以进行操作,例如:某些数据信息不能够重复。数据库中的约束一共有六中:数据类型非空约束唯一约束主键约束检查约束外键约束约束是一把双刃剑,约束的确可以保证数据合法后才进行保存,但是如果在一个数据库里面一张表中设置了过多的约束,那么更新的速度一定会慢,所以...原创 2020-02-05 22:32:14 · 100 阅读 · 0 评论 -
表结构的修改
表结构的修改当一张数据表已经正常建立完成了,后来发现,某些表少列,某些表列设计不合理…所以提供有对象的修改操作,但是从开发来讲,不提倡数据表的修改操作。在实际开发之中,为了方便数据库的使用,往往设计人员会给出一个数据库的脚本。这个脚本的后缀一般是“*.sql”。开发人员可以利用脚本对数据库进行快速的恢复。所以这个脚本一般会包含有如下几个内容:删除原有的数据表;重新创建新的数据表;...原创 2020-02-03 12:53:40 · 1350 阅读 · 0 评论 -
数据表的删除
1、数据表的删除删除数据表属于数据库对象的操作,所以此时它的支持语法:DROP TABLE 表名称范例:删除emp30表DROP TABLE person; 在最早的时候,如果执行了删除语句,那么数据表就会直接进行删除,但是从Oracle10g开始,对于删除的操作,出现了一次挽救的机会,类似于windows回收站。如果没有其他说明,那么这个时候会将表暂时保存在回收站之中,如果...原创 2020-02-03 10:57:46 · 1688 阅读 · 0 评论 -
事务锁
事务锁每一个session都进行自己的事物处理,如果说现在两个session同时操作了一条数据会出现什么情况?范例:第一个session更新7566的雇员信息UPDATE myemp SET sal=5000 WHERE empno=7566此时的session没有提交或回滚事务范例:第二个session更新7566的雇员信息UPDATE myemp SET comm=1000 W...原创 2020-02-02 23:21:07 · 555 阅读 · 0 评论 -
事务处理
事务处理事务:是保证数据完整性的一种手段,事务具备ACID原则,保证你一个更新数据的时候,,其他人不能更新。在Oracle之中,sqlplus是一个客户端。但是对于Oracle服务而言,每一个sqlplus客户端都是独立的,都使用一个session在事务处理之中提供有两个核心的命令:提交事务:commit;回滚事务:rollback;真正使用了commit提交的时候才表示更新正常...原创 2020-02-02 23:19:29 · 192 阅读 · 0 评论 -
截断表
截断表事务处理本身是保护数据完整性的一个手段,但是使用事务处理的过程之中需要注意一点:在用户更新数据后未还进行事务提交中,如果发生了DDL操作,那么所有的事务都会自动提交。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cIpvyAFQ-1580656621542)(C:\Users\016322605\Desktop\csdn\Oracle\捕获206.PNG...原创 2020-02-02 23:18:16 · 1098 阅读 · 0 评论 -
表的创建
表的创建1、常用的数据类型表本质上就属于数据集合操作,那么数据的集合里面必然有他要保存的集合类型,在数据库的开发过程中,每个数据库都有自己支持的数据类型,但不管扩展了多少种数据类型,真正常用的就以下几种:字符串:使用VARCHAR2描述(其他数据库使用VARCHAR),200个字以内的都使用此类型数字:在Oracle中使用NUMBER来描述数字,如果描述小数使用“NUMBER”,其...原创 2020-02-02 23:16:06 · 241 阅读 · 0 评论 -
表的复制
表的复制严格来讲复制表不是复制的操作,而是将一个子查询的返回结果变为了一张表的形式保存而已复制表的语法: CREATE TABLE 表名称 AS 子查询:范例:将所有的30部门雇员信息保存在emp30表中CREATE TABLE emp30 AS SELECT * FROM emp WHERE deptno=30;如果现在是一个复杂查询,那么也可以将这个最终的结果保存在数据表...原创 2020-02-02 23:09:28 · 364 阅读 · 0 评论 -
重命名表
重命名表DDL属于数据对象定义语言,主要的功能是创建对象,但是这些对象被谁记录着呢?当用户进行对象操作的时候,Oracle中提供有一个数据字典,用于记录所有的对象状态。每当用户创建表之后,那么会自动在数据字典里面增加一行信息,表示表创建了,表删除了也会在数据字典里面执行删除操作,但是,整个过程是由Oracle自己维护的,用户不能够直接操作数据字典的CRUD.只能够通过命令完成。 数据字典用...原创 2020-02-02 23:04:00 · 475 阅读 · 0 评论 -
数据伪列
数据伪列伪列指的是列本身不存在,但是却可以进行使用的列,在Oracle里面提供有两个非常重要的伪列:ROWNUM、ROWID1.行号:ROWNUM(核心)如果在开发之中使用了ROWNUM,那么就表示会自动生成行号。范例:观察ROWNUM使用SELECT ROWNUM,empno,ename,job FROM emp;ROWNUM是一个伪列,只是使用它生成行号。ROWNUM生成的...原创 2020-02-02 22:55:27 · 519 阅读 · 0 评论 -
子查询
子查询在整个SQL查询语句的过程之中,子查询并不是具备特殊的语法,也就是说在整个SQL查询操作里面子句:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY.如果非要给出子查询的语法,那么只能进行拼凑了。所有可能出现的子查询都需要使用“()”声明。子查询语法(实际上是查询嵌套)SELECT [DISTINCT] * | 字段 [别名] | 统计函数, ...原创 2020-01-27 07:51:31 · 324 阅读 · 0 评论 -
分组统计查询
分组统计查询1.统计函数(分组函数)常用的统计函数:统计个数:COUNT();根据表中的实际数据量返回结果求和:SUM()、是针对于数字的统计最小值:MIN()、各种数据类型都支持最大值:MAX()、各种数据类型都支持平均值:AVG()、是针对于数字的统计范例:验证各个函数这些统计函数是允许和其他函数嵌套的。范例:求员工的平均工作年限范例:求出最早和最晚的雇佣日期...原创 2020-01-27 07:39:01 · 1991 阅读 · 0 评论 -
多表查询
多表查询1、认识多表查询多表查询指的就是同时从多张数据表中取出数据并且显示的一种操作。SQL语句的格式:【③选出所需要的数据列】SELECT [DISTINCT] * | 列 [别名],列 [别名],列 [别名]…【①确定数据来源】FROM 表名称 [别名] , 表名称 [别名]…【②筛选数据行】WHERE 限定条件(s);【④数据排序】ORDER BY 排序字段[ASC | ...原创 2019-12-31 22:52:06 · 1126 阅读 · 0 评论 -
简单查询
简单查询1、控制列简单查询要使用DML中的查询部分支持,对于简单查询的通俗理解就是就是将表中的全部记录都查询出来,但是可以通过语法控制列的显示。简单查询SQL语法结构:【②SELECT字句控制所要查询的数据列】SELECT [DISTINCT] * | 列 [别名], 列 [别名],…【①FROM 控制字句的数据来源】FROM 表名称 [别名];除了进行基本的查询列之外,简单查询也...原创 2019-12-31 22:38:06 · 966 阅读 · 0 评论 -
Oracle中单行函数
单行函数在数据库里面为了方便用户的开发,往往会会提供一系列的支持函数,利用这些函数可以针对于数据进行处理。如:在根据姓名查询的时候,如果说姓名本身是大写字母,而查询是小写字母,此时将不会有任何的结果返回,所以考虑到此类情况,往往会在数据保存或查询的时候对数据进行一些处理,而这些处理每一个数据库都有自己的函数库,利用函数可以实现特定功能。在Oracle之中对于函数基本的使用结构如下:返回值 函...原创 2019-12-28 19:07:38 · 598 阅读 · 1 评论