![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
SQL语句,SQLServer,Oracle 等数据库语法和原理
superSmart_Dong
这个家伙很懒,啥都不想写
展开
-
Oracle 原理: 物化视图,快照,实体化视图。
8i和8i前,oracle 提供了 快照 snapshot ,9i中把其改名为物化视图,也叫实体化视图 materialized View。在海量数据中,如果只想查询特定的数据,通常会select 基表或者视图,而查询视图是通过基表进行查询的。如果基表数据的数量级非常之大,那么对于只想查询特定的数据时效率就会很不尽人意。传统的视图是逻辑上的。而物化视图是存在磁盘空间里的。他是远端数据库在本地上的一个副本,或者用来生成数据库表求和的汇总表。物化视图存储基于远程表的数据,也可以移位快照。物化视图可以在 基表原创 2020-07-28 23:57:13 · 1079 阅读 · 0 评论 -
Oracle 原理: 闪回 flashback
一、9i中的闪回查询方法 可以按照时间点或者SCN(System Change Number)向前查询,获取修改前的数据。闪回查询依赖于回滚段中存储的数据前镜像,通过设置undo_retention参数前镜像保留的时间。 select ... as of scn |timestamp例如现有表中有8行数据:在回滚段保留时间还生效的情况下,知道想要恢复到的确切时间可以delete salary_tbl where employer_nm like '雇佣者导入1...原创 2020-07-26 21:44:28 · 482 阅读 · 0 评论 -
Oracle 原理:数据装载 ,SQLldr ,外部表
SQL*LOADER可以把txt文件,Excel文件导入到数据库中。使用SQLloader导入导出需要一个数据文件和一个控制文件。数据文件中存了你需要导入的数据,控制文件中写你需要怎么导入这些数据。LOAD DATAinfile 'e:\aa.csv' ## 源文件路径,路径不要包括中文into table xx_temp ## 要导入的表( id terminated by whitespace ## id 为列名,white原创 2020-07-23 01:06:41 · 847 阅读 · 0 评论 -
Oracle 原理:逻辑备份和恢复
一、备份和恢复在Oracle 要有备份才能恢复。Oracle备份分为物理备份和逻辑备份。物理备份,即备份物理文件,如数据文件、日志文件、控制文件、密码文件等。逻辑备份:表、视图、存储过程、数据库对象等。二、Oracel环境中可能发生的故障类型故障分为四种:语句故障,即SQL语句发生错误发生的故障,Oracle会自己发现语句故障;用户进程故障,当用户程序连接数据库时客户端发生故障,导致客户端死机,用户进程消失。此时Oracle中的PMON会自动把对应的服务进程给停止;实例故障,如Oracle服务端原创 2020-07-20 22:10:15 · 819 阅读 · 0 评论 -
oracle ORA-12526: TNS: 监听程序: 所有适用例程都处于受限 无法使用sqlplus / as SYSDBA
最暴力的方法:打开控制面板->服务,找到 实例和监听直接重启一般的方法:使用系统管理员身份运行以下一段代码SQLplus / as SYSDBA;ALTER SYSTEM DISABLE RESTRICTED SESSION;原创 2020-07-20 01:32:34 · 1606 阅读 · 1 评论 -
Oracle 原理: 初步认识程序包
oracle 中的程序包和C中的类库,JAVA中的package包类似。是过程、函数、变量、游标、异常的集合。程序包由规范和主体两部分组成。规范主要用于声明。声明公有对象(类型、常量、变量、异常、游标规范、子程序规范)类似于C语言中的hpp。主体主要用于声明程序包私有对象和实现规范中的子程序和游标,类似于C语言中的cpp。在PL/SQL Developer的菜单栏中点VIEW的Object Browser,选中Package ,新建new。--------程序包规范----------...原创 2020-07-15 00:37:46 · 265 阅读 · 0 评论 -
Oracle 原理:UNDO表空间
UNDO表空间又称为,回滚表空间,撤销表空间。Undo segment保存在UNDO 表空间,一个数据库可以有多个UNDO表空间,但是在同一时刻中,只能使用同一个UNDO表空间。一、UNDO表空间的作用和机制对于DML语句,只要修改了数据块,Oracle就会把原来修改前的数据块保留下来,存储在Undo segment (回滚段),当执行rollback操作时,把原先的数据重新覆盖回来。回滚段存放在UNDO表空间中。UNDO表空间的管理分为手动管理和自动管理。在11g中默认是采用自动管理模式。UN原创 2020-07-15 00:35:33 · 2401 阅读 · 0 评论 -
Oracle 原理:临时表空间的操作方式
临时表空间用于存放用户的临时数据,允许被覆盖,关闭数据库后,临时表空间的数据会自动删除。在专有连接模式下,一个用户进程对应的一个服务器进程。临时表空间在硬盘中,SQL查询取出来的数据放在在PGA(程序全局区)中也是服务器内存中。例如在用户执行SQL进行排序时会用临时表空间进行排序。例如SQL语句: select * from a.b order by a.col1 ,b.col2 desc.Oracle 会把查询出来的数据再PGA中进行排序,如果数据太多,服务器内存不足以支持排序,会把查询出来的数据分成原创 2020-07-14 21:31:44 · 343 阅读 · 0 评论 -
Oracle 原理:DML触发器和数据库触发器
一、DML触发器触发器的作用即当某个事件发生时会自动执行执行程序段里的内容。触发器可以作用于表或者视图,可以指定在insert 或update 或delete 操作前、操作时、操作后 执行特定的程序段。CREATE [OR REPLACE] TRIGGER triggername BEFORE/INSTEAD OF/AFTER ---选择事件触发(前,时,后)执行 PL/SQL代码块 [INSERT [OR] UPDATE [OR] DELETE] ---当执.原创 2020-07-09 00:21:53 · 683 阅读 · 0 评论 -
Oracle 原理: 集合数组,集合属性,is table of 用法,bulk collect into,IS RECORD用法
一、数组数组分为固定长度数组和可变长度数组,都是集合,且数组的起始下标是从1开始的,这和其他高级程序语言不太一样。利用圆括号‘(下标)‘来获取值或者进行赋值。固定长度的数组类型的声明 为 TYPE类名IS VARRAY(元素个数) OF 元素类型;declaretype arry3 is varray(3) of varchar2(4); ---固定数组类型声明sexsList arry3 :=arry3('男','女','人妖'); --固定数组变量定义usr_input n...原创 2020-07-09 00:19:37 · 1645 阅读 · 0 评论 -
Oracle 原理:游标,显示游标、隐式游标、参照游标
Oracle 游标有三种:显示游标、隐式游标、参照游标。fetch...bulk collect intoselect 语句会把结果集全部返回给用户,而无法对结果集中的每行数据进行单独的操作。因此游标可以解决此问题。隐式游标是在执行DML SQL语句时,Oracle自动创建的,名字固定叫sql显示游标由用户自行创建REF游标:REF游标用于处理运行时才能确定的动态SQL查询的结果隐式游标包含的属性有:%FOUND :SQL语句影响了一行或者多行时为ture%NO...原创 2020-06-30 00:41:03 · 631 阅读 · 0 评论 -
Oracle 原理: 过程和函数
一、存储过程PL/SQL分为三个部分,声明部分、可执行部分、异常处理部分,其中可执行部分是必须要有的。创建过程的语法:Create [or replace] procedure 过程名 [(参数list)]As|Is--声明变量在这里写BEGIN--过程程序在这里写EXCEPTION--异常处理在这里写END;PL/SQL 子程序有点:模块化:将程序分解为逻辑模块可重用性:可以被任意数目的程序使用可维护性:简化维护操作安全性:通过权限设置,是数据更加安全...原创 2020-06-30 00:39:15 · 309 阅读 · 0 评论 -
Oracle 原理: 数据类型
一、PL/SQL 的数据类型和用法PL/SQL可以使用变量和常量。变量赋值用两种方式:一种是 := 还有一种是 select ..into [变量],变量声明语法:变量名 [constraint] 数据类型 [NOT NULL] [ := | DEFAULT 表达式]创建表,初始化表drop table salary_tbl;create table salary_tbl( employer_nm varchar(20), department varcha...原创 2020-06-30 00:35:03 · 253 阅读 · 0 评论 -
Oracle 原理: PL/SQL基础
一、PL/SQL 功能和特点二、PL/SQL 和T/SQL的差异三、PL/SQL 的数据类型和用法四、Oracle11g 中队LOB类型进行操作的方法,即原创 2020-06-30 00:33:47 · 263 阅读 · 0 评论 -
Oracle原理: 归档方式和日志文件
一、联机日志、联机日志组oracle联机重做日志放在了 /oracle/oradata/orcl下,有3个REDO.log,记录了对数据库的所有的操作。用户在对数据库进行操作时,后台进程LGWR就会把日志缓冲区的重做条目就会写到重做日志里面。当数据库意外宕机重启后,重做日志就能派上用场了。数据库启动时,先前滚,再回滚。达到了宕机前已提交了事物都不会丢失,未提交的事物都不会保留。归档日志文件就是联机重做日志文件的备份,联机重做日志文件又称为在线日志文件,联机日志文件。日志是通过联机日志组来组织,.原创 2020-06-30 00:31:39 · 827 阅读 · 0 评论 -
Oracle 原理 : 动态性能视图和数据字典
Oracle 的数据字典包含了两部分:数据字典表和数据字典视图。数据字典基本表是由$ORACLE_HOME\RDBMS\ADMIN\sql.bsq这文件所创建。表名大多以$结尾,属于sys用户,放在SYSTEM表空间中,用户不能手动改数据字典基本表。我的在D:\oracle\product\11.2.0\dbhome_3\RDBMS\ADMIN\sql.bsq打开sql.bsq文件查看内容(r...原创 2020-06-30 00:29:06 · 273 阅读 · 0 评论 -
Oracle 原理: JAVA连接Oracle数据库 (JDBC)
首先第一步要新建JAVA工程并且到导入Oracle驱动到JAVA外部依赖包:驱动也可以在网络上找。只要下载Oracle,Oracle驱动就存在,驱动就是jdbc目录下的ojdbc6.jar文件。,我的在D:\oracle\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar然后复制到JAVA工程里, 然后选中 jar包 Build Path ->...原创 2020-03-01 12:24:49 · 587 阅读 · 1 评论 -
Oracle 的原理: 索引
在表上建立索引,索引对于表,就像目录对于书一样,有了索引可以直接定位到表中的数据位置,大大的加快查找速度。索引可以减少磁盘IO,在逻辑上和物理上都独立于表的数据,索引可以存放在任何磁盘上面,此外Oracle会自动维护索引。1.唯一索引、组合索引、反向键索引、函数索引、位图索引 索引可以分为B树(B-Tree)索引和位图(Bitmap)索引,B树索引又分为唯一索引、组合索引、...原创 2020-02-29 20:01:28 · 1424 阅读 · 0 评论 -
Oracle 原理: 视图,对视图进行增删改操作
Oracle的视图和SQLServer的视图基本一样。视图,是一个虚拟的表,不会给视图分配存储空间。视图的建立需要依赖于单个或多个普通表,被依赖的普通表就成为"基表"。可以就像 用 select 语句类似,在某些表中选取字段和筛选条件,可以查询出数据,把这数据构成一张虚拟的表,这就叫视图。 视图隐藏了数据的复杂性,还可以方便用户的查询,另外,还可以隔离物理表结构改变。视图通常是用来查...原创 2020-02-28 20:48:29 · 6915 阅读 · 0 评论 -
Oracle 原理:序列
序列是生成唯一的连续序号的对象。有点像SQLServer里面的种子标识,可以用来实现自增。CREATE SEQUENCE S_NO --序列名START WITH 1 --起始值INCREMENT BY 1 --自增值MAXVALUE 200 --最大值MINVALUE 1 --最小值N...原创 2020-02-28 15:10:32 · 524 阅读 · 0 评论 -
Oracle 原理: 公有同义词 和 私有同义词
同义词是现有对象的一个别名,和 C++ 里面的typedef关键字很像。同义词都能简化SQL语句,隐藏对象的名称和所有者,也可以提供对对象的公共访问。在Oracle中,同义词分为公有同义词和私有同义词。公有同义词可被所有数据库用户访问。私有同义词只能再其模式内访问,且不能与当前模式的对象同名。CREATE [PUBLIC]SYNONYM [同义词名] FOR [对象名];如果不写 ...原创 2020-02-28 00:38:55 · 2228 阅读 · 1 评论 -
Oracle原理:表分区
目录1.范围分区、散列分区、列表分区、复合分区。2.11g新增的引用分区、间隔分区、基于虚拟列的分区、系统分区。1.范围分区、散列分区、列表分区、复合分区。允许用户将一个表分成多个区,用户可以执行查询时,只访问表中的特定分区;将不同的分区存储在不同的磁盘,提高访问性能和安全性;并且可以独立的备份和恢复每个分区;SQLSever2005有了分区表内容,但是建分区表时比较麻烦,Orac...原创 2020-02-27 17:56:42 · 1061 阅读 · 0 评论 -
Oracle 原理:高水位线、PCTFREE、PCTUSED、索引组织表、簇表、临时表
1.11g中表的类型:普通表、分区表、索引组织表IOT、簇表、临时表、嵌套表、对象表等。分区表:为了提高容纳的数据量和查询速度把一个表分在多个区上。簇表:使联合查询时变得快。适用于频繁关联查询的表。嵌套表:表中有表,比如的表A中某行某列是表B的数据,像"盒子"一样的包含关系,就叫嵌套表。2.高水位线HWM,High Water Mark: 指的是在历史中,最大使用的表中数据块的数量。高水位...原创 2020-02-26 22:38:56 · 540 阅读 · 0 评论 -
Oracle 原理: 11g的启动和关闭
1.Oracle 11g启动中,读取参数文件的顺序。9i之前,只有静态参数文件pfile,9i开始有了动态参数文件spfile,优先使用动态参数文件。查找参数文件路径可以在sql_plus查看:show param pfile;11g启动数据库,Oracle先查找spfileSID.ora再找spfile.ora之后找initSID.ora、最后找init.ora。其中的SID是服务名,...原创 2020-02-25 11:49:41 · 435 阅读 · 0 评论 -
Oracle原理:11g的体系结构
目录1.11g的物理结构和逻辑结构2.全局系统区SGA和程序全局区PGA3. 9i中的自动PGA管理4. 10g中的自动SGA管理和MMAN进程和MMON进程5. 11g中的AMM配置和MMAN进程6.11g默认表空间的结构和特点1.11g的物理结构和逻辑结构 1.1 Oracle服务器由Oracle数据库和Oracle实例组成。Oracle数据库里的是看得见的...原创 2020-02-24 18:28:26 · 811 阅读 · 0 评论 -
Oracle原理: 行级锁和表级锁
行级锁就是施放在行上的排他锁,表级锁就是会施放在表上的排他锁。锁分为两大类:共享锁和排它锁。共享锁的意思就是可以其他用户来锁定表,而排它锁不准其他用户来锁定表。锁具有:一致性(只允许一个用户修改数据)、完整性(为所有用户提供完整的数据,即要么取的都是修改前的数据,要么都是修改后的数据),并行性(允许多个用户访问同一数据)1.行级锁在使用insert,update,delete,sele...原创 2020-02-23 20:06:18 · 3355 阅读 · 0 评论 -
Oracle原理:11g中的网络配置
1.11g的网络连接方式 在WINDOWS下,安装完Oracle会自动完成好网络配置实现网络连接,但是在Linux下,得自己手动配置才行。客户端有tnsnames.ora的配置文件来配置网络服务名,如服务器地址,监听端口,数据库SID等。而服务器端有listener.ora配置文件来配置监听器,如监听协议、地址及其他信息。从本地访问数据库服务器,首先要开启OracleServiceORCL...原创 2020-02-23 15:53:06 · 525 阅读 · 0 评论 -
Oracle 原理:用户和权限,Profile,系统权限,对象权限,角色
1.用户的创建 在Oracle中默认有3个用户:SYS,SYSTEM,SCOTT 其中数据库所有的数据字典表和视图都存储在SYS模式中,相当于Linux下的root用户。 SYSTEM是默认的系统管理员,可以管理表和视图、用户、权限等 SCOOT是默认的普通用户,以Oracle公司的第一个普通员工,默认密码是tiger,刚开始这个用户是被锁住...原创 2020-02-21 22:46:20 · 1345 阅读 · 0 评论 -
SQLSever 存储过程创建
先上示例代码:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: -- Create date: -- Description: -- ===========================================原创 2017-05-17 21:54:35 · 456 阅读 · 0 评论 -
SQLSever触发器建立
先附上示例代码:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: -- Create date: -- Description: -- ========================================原创 2017-05-17 13:37:58 · 773 阅读 · 0 评论