oracle笔记
Oracle数据库学习笔记_CREATETABLE和INSERTINTO的高级用法

Oracle数据库学习笔记 _CREATETABLE和 INSERTINTO的高级用 法
1、新建表 create table ACCT_LOAN (
data_date INTEGER not null, --整数,也可以约束数字最大位数,不可为空 acct_num VARCHAR2(35) not null, --可变长度的字符串(包含数字。字母及特殊字符) curr_cd CHAR(3), --固定长度为3的字符串(可包含数字,字母及特殊字符) drawdown_dt DATE, --日期 loan_amt decimal(8,2) --小数,小数最大长度为8位,小数位固定为2位 ) 2、建备份表 create table 备份表名 as select * from 表名; 3、将两张相同结构的表合并在一起 insert into 表1 select * from 表2 where ...; commit; 4、更新表:merge into merge into 表1 using 表2 on (表1.字段=表2.字段) when matched then update set ... when not matched then insert values(表2.xx, 表2.xx,...); commit; 5、给变量赋值 select into 变量名 from
Oracle EBSGL学习笔记

12.81、冲销日记账1)原始借:租金10,000 本位币美元贷:现金10,000 本位币美元冲销借:现金10,000 本位币美元贷:租金10,000 本位币美元2)可以创建冲销日记账分录来冲销应计、估计、临时调整和重新分类,或更正错误。
3)方法:转换借贷项:通过转换借项和贷项金额来冲销日记账分录。
红字冲销:通过将原始日记账金额从正值改为负值来冲销日记账分录。
4)日记账> 输入> 复核日记账(B)其他活动日记账> 生成> 冲销2、自动冲销日记账1)可以自动冲销上一个月的应计日记账分录,并自动将其过账(如果需要)。
2)自动冲销日记账的前提条件:--日记账余额类型为“实际”--日记账类型已启用“自动冲销”选项--日记账已过帐,但尚未冲销--日记账冲销期间为“打开”或“将来可输入”3) 设置> 日记账> 自动冲销(AutoReverse)3、日记账分录报表提供:会计结算日期、类别、日记账名称、参考、日记账批4、与Oracle General Ledger 集成--在Excel中创建日记账--通过Web ADI 加载到GL_INTERFACE 表--从接口表中提交“日记账导入”-从Web ADI中与加载流程同时提交-从Web ADI 中作为独立的提交流程提交-从Oracle General Ledger中使用“导入日记账”窗口提交5、Web ADI 的核心功能1)布局功能--从布局中删除或向布局中添加字段--指定字段在布局中的位置--为布局中的字段分配默认值--保存布局,可以由具有适当责任的某个人来定义,然后由整个站点使用2) 文本导入功能--将文本文件数据导入到桌面文档中--创建可以修改和重复使用的映射模板,根据需要更改数据临时的移动目标。
3) 安全功能--将Web ADI 功能与菜单关联,创建用作安全配置文件的自定义访问点--将菜单附加到分配给用户的职责中,用用户级别限制Web ADI访问--为自助连接添加默认参数:强制用户在其桌面上生成文档时使用预定义的参数--将表单功能与用户的菜单关联,已授予其访问集成器的权限4) Internet 计算功能--集中部署,要操作词产品,客户机只需要浏览器和Excel--在Web 上运行6、通过Web ADI 进行桌面集成1) 集成器:Oracle General Ledger-日记账集成器、Oracle General Ledger-预算集成器、创建资产集成器、实地盘点集成器、HRMS集成器2)Oracle General Ledger-日记账集成器:--根据可定义的布局,自动生成基于电子表格的日记账分录工作表--允许通过复制和粘贴日记账行,然后进行增量式修改来快速的输入日记账--允许您定义可以反复修改和加载的日记账模板--使用安全措施和交叉验证规则以及其他引用字段全面验证账户--通过Oracle General Ledger开放接口将日记账加载到Oracle General Ledger7、导入日记账日记账> 导入> 运行1)将子分类帐和源系统数据导入Oracle General Ledger--定义分类账、币种、帐户、日记账来源和类别设置Oracle General Ledger,以接受日记账导入数据--运行“优化”程序,并定义并发程序控件。
韩顺平oracle学习笔记

韩顺平oracle学习笔记第0讲:如何学习oracle一、如何学习oracleOracle目前最流行的数据库之一,功能强大,性能卓越。
学习oracle需要具备一定基础:1.学习过一门编程语言(如:java ,c)2.最好学习过一门别的数据库(sql server,mysql , access)教程推荐:oracle使用教程,深入浅出oracle记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程;索引,约束和事物。
期望目标:1 学会安装、启动、卸载oracle2 使用sql *plus工具3 掌握oracle用户管理4 学会在oracle中编写简单的select语句第1讲:基础语法内容介绍:1.为什么学习oracle2.介绍oracle及其公司的背景3.学会安装、启动、卸载oracle4.oracle开发工具5.Sql*plus的常用命令6.oracle用户管理一、主流数据库包括:●微软:sql server 和 access●瑞典:mysql AB公司●IBM公司:DB2●美国sybase公司:sybase●IBM公司:infromix●美国oracle公司:oracle(目前最流行的之一)二、oracle安装,启动及卸载1.系统要求:操作系统最好为windows2000内存最好在256M以上硬盘空间需要2G以上2.oracle安装会自动的生成sys和system两个用户说明:○1Sys用户是超级用户,具有最高权限,具有sysdba角色,create database 的权限,默认密码是manager○2System 用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是 change_on_install○3一般讲,对数据库维护,使用system用户登录就可以了3.启动oracle右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener4.卸载oracle1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭2、开始->程序->Oracle - oracle的版本号,我的是10ghome->Oracle Installation Products->Universal Installer 卸载oracle3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。
racle学习笔记总计

培训第二天(上午)学习视频《韩顺平oracle视频》学习中遇到的想法:1.sql server 数据——》oracle(编程是实现java,先读在插入)一,oracle的安装1.oracle数据库自带用户 sys(默认密码:manager)(最好权限,可以create database),system(默认密码:change_on_install)。
二,oracle的启动1.启动一个oracle实例,即启动一个单个数据库。
2.管理——服务 oracleservice实例名(一个实例代表一个数据库)+oracle……listener三,oracle的卸载1.卸载需要动注册表(可观看视频)四,sql plus常用命令1.显示用户show user2.链接命令conn 用户名/密码disc3.修改密码passw4.运行一个脚本start和@ 如:start d:\aa.sql || @ d:\aa.sql5.编辑一个脚本edit D:\aa.sql6.spool 该命令可以将sqlplus屏幕上的内容输出到指定的文件中1. spool d:\b.sql2. select * from3. spool off7.交互 &8 set linesize, set pagesize(分页显示)9.desc 表名(查看表结构)五,oracle常用工具1.sqlplus,sqlplusw,pl/sql developer(第三方独立开发),oracle enterprise manager(图像化界面)六,用户管理1.create user 名 identified by 密(密码不能以数字开头)(新创建的用户是没有任何权限的,甚至是没有登录权限 grant, revoke)2.password 名3.drop user 名(如果用户有表,则加参数cascade)培训第二天(下午)(自己动手遇到无法登陆oracle)(gaotuan:gaotuan、system:G6*******cxz)一,用户授权(对象权限(select insert update delete all create index),系统权限)1.grant connect to 名(登录)2.grant resource to 名(创建数据库对象)3.sqlplus "/as sysdba"(sys登陆)4.alter user scott account unlock;(解锁)二,角色connect ,dba对象权限:with grant option系统权限:with admin option收回父权限时下边的用户也没有相应得权限三,表空间一,表空间作用: 1.控制数据库占用的磁盘空间。
Oracle数据库学习笔记

Oracle数据库学习笔记Oracle数据库基础 orcale属于关系型数据库,适⽤于各类⼤,中,⼩,微机环境,是⼀种⾼效率、可靠性好的、适应⾼吞吐量的数据库⽅案。
学习,实验完全免费,商⽤需要⽀付相应费⽤。
Oracle 数据库包括数据库实例,和数据库,⼆者脱离谁都没有存在的价值。
实例是⽤来操作数据库的对象,数据库是⽤来存储数据使⽤的。
Oracle主要组件包含实例组件,数据库组件。
SGA(System Global Area)是Oracle Instance的基本组成部分,PGA(Process Global Area)是为每个连接到Oracle database的⽤户进程保留的内存。
每个实例只有⼀个SGA,所有的进程都能访SGA。
PGA是程序全局区,每个⼀个进程都⼀个PGA,PGA是私有的,只有对应进程才能访问对应的PGA。
数据库中包含:参数⽂件,⼝令⽂件,数据库⽂件,控制⽂件,⽇志⽂件以及归档⽇志⽂件。
Oracle实例进场包含⽤户进程,服务器进程和后台进程。
SGA:系统全局区 系统全局区包含共享池,数据缓冲区,⽇志缓冲区。
“共享池”:是对SQL,PL/SQL程序进⾏语法分析,编译,执⾏的内存区;由库缓存和数据字典缓存组成;其⼤⼩直接影响数据库性能。
“数据缓冲区”:临时存储从数据库读⼊的数据,所有⽤户共享,数据缓存区的⽬的是加快数据读写。
“⽇志缓冲区”:⽇志记录数据库所有修改信息,其先产⽣于⽇志缓冲区,当达到⼀定数量时,由后台进程将⽇志数据写到⽇志⽂件中。
PGA:程序全局区 PGA包含单个服务器进程所需要的数据和控制信息,在⽤户进程连接到数据库并创建⼀个会话时⾃动分配的,保存每个与数据库连接的⽤户进程所需要的信息。
PGA为⾮共享区,只能单个进程使⽤,当⼀个⽤户会话结束,PGA释放。
后台进程 后台进程中包含PMON(进程监视器(Process Monitor)),SMON(系统监视器(System Monitor)),DBWR(数据库书写器(Database Write)),LGWR(⽇志书写器(Log Write)),CKPT(检查点(Checkpoint)),以及其他。
ORACLE 正则表达式摘录笔记

ORACLE 正则表达式一.正则表达式简介:正则表达式,就是以某种模式来匹配一类字符串。
一旦概括了某类字符串,那么正则表达式即可用于针对字符串的各种相关操作。
例如,判断匹配性,进行字符串的重新组合等。
正则表达式提供了字符串处理的快捷方式。
Oracle 10g及以后的版本中也支持正则表达式.二. 正则表达式相对通配符的优势:1.正则表达式中不仅存在着代表模糊字符的特殊字符,而且存在着量词等修饰字符,使得模式的控制更加灵活和强大。
2.通配符的使用一般是在特定的环境下,不同的环境下,通配符有可能不同。
而正则表达式,不但广泛应用于各种编程语言,而且在各种编程语言中,保持了语法的高度一致性。
三. 元字符:元字符是指在正则表达式中表示特殊含义的字符。
量词用来指定量词的前一个字符出现的次数。
量词的形式主要有“?”、“*”、“+”、“{}”。
量词在用于匹配字符串时,默认遵循贪婪原则。
贪婪原则是指,尽可能多地匹配字符。
例如:字符串“Function(p),(OK)”,如果使用正则表达式“\(.*\)”进行匹配,则得到字符串“(p),(OK)” ,而非“(p)”;若欲得到“(p)”,则必须取消量词的贪婪原则,此时只需要为量词后追加另外一个数量词“?”即可。
如上面的正则表达式应该改为“\(.*?\)”。
五. 字符转义:元字符在正则表达式中有特殊含义。
如果需要使用其原义,则需要用到字符转义。
字符转义使用字符“\”来实现。
其语法模式为:“\”+元字符。
例如,“\.”表示普通字符“.”;“\.doc”匹配字符串“.doc”;而普通字符“\”需要使用“\\”来表示。
六. 字符组.字符组是指将模式中的某些部分作为一个整体。
这样,量词可以来修饰字符组,从而提高正则表达式的灵活性。
字符组通过()来实现.许多编程语言中,可以利用“$1”、“$2”等来获取第一个、第二个字符组,即所谓的后向引用。
在Oracle中,引用格式为“\1”、“\2”。
学习王二暖oracle笔记(25-31)
学习oracle笔记一、临时表空间 (3)1.目标 (3)2.临时表空间的作用 (3)3.临时表空间组 (3)4.临时表空间的操作 (3)二、UNDO表空间(undo撤销,redo重做) (5)1.目标 (5)2.UNDO管理方式的改变 (5)3.Undo表空间概念 (5)4.Undo相关的重要的参数 (6)5.Undo表空间的操作 (7)6.Oracle11G undo表空间的新特性 (8)三、逻辑备份与恢复 (8)1.目标 (8)2.备份与恢复简介 (8)3.故障类型 (9)4.传统的导出与导入实用程序 (9)5.导出 (11)6.导入 (12)7.导出导入三种方式 (14)8.可传输表空间 (14)9.oracle11G的数据泵 (15)10.Expdp重要的参数 (15)11.inmdp的重要参数 (19)四、数据装载 (20)1.目标 (20)2.数据的装载 (20)3.SQL*LOADER (21)4.外部表 (23)五、闪回flashback (25)1.目标 (25)2.9I的闪回查询 (25)3.10G中的闪回版本查询 (26)4.10G的闪回事务查询 (27)5.10G的闪回表 (27)6.闪回删除 (28)7.10G的闪回数据库 (29)六、物化视图 (30)1.目标 (30)2.问题的提出 (30)3.物化视图的简介 (31)4.物化视图的作用 (32)5.创建物化视图时需要的权限 (33)6.创建物化视图时的选项 (33)7.基于主键的物化视图 (34)8.基于rowid的物化视图 (36)七、使用物化视图和exp实现生产库的逻辑备份的例子 (37)1.问题的提出 (37)2.问题的解决 (37)一、临时表空间1.目标2.临时表空间的作用临时表空间在硬盘上3.临时表空间组4.临时表空间的操作查看表空间:Select * from v$tablespace;Select * from dba_tablespaces;查看数据文件:Select * from dba_data_files;查看临时数据文件:Select * from dba_temp_files;Select * from v$tempfile;查看默认的临时表空间:Select * from database_propertieswhere property_name=’DEFAULT_TEMP_TABLESPACE’;创建临时表空间,不属于组:Create temporary tablespace temp2 tempfile’F:\data\orcl\tem2a.dbf’ size 10M autoextend on;创建临时表空间,属于组:Create temporary tablespace temp3tempfile’F:\data\orcl\tem3a.dbf’size 10M autoextend ontablespace group temp_grp;查看临时表空间组:Select * from dba_tablespace_groups;把temp2加入到temp_grp组内:Alter tablespace temp2 tablespace group temp_grp;把temp2移出temp_grp组:Alter tablespace temp2 tablespace group ’’;给temp2表空间添加一个临时文件:Alter tablespacetemp2 addtempfile’F:\data\orcl\tem2b.dbf’size 10m autoextend on;修改系统默认的临时表空间为另一个临时表空间:Alter database default temporary tablespace temp2;修改系统默认的临时表空间为一个临时表空间组:Alter database default temporary tablespacetemp_grp;二、UNDO表空间(undo撤销,redo重做)1.目标2.UNDO管理方式的改变3.Undo表空间概念4.Undo相关的重要的参数查看undo相关信息:Show parameter undo;5.Undo表空间的操作增加一个undo表空间:Create undo tablespace undotbs2 datafile’F:\DATA\ORCL\undotbs201.dbf’ size 10m autoextend on;给undotbs2表空间增加一个undo数据文件:Alter tablespace undotbs2 add datafile’F:\DATA\ORCL\undotbs202.dbf’ size 10m;查看系统默认undo表空间:Show parameter undo;切换undo表空间:Alter system set undo_tablespace=undotbs2;启用rententiongarentee:Alter tablespace undotbs1 retention guarantee;查看表空间是否启用了rententiongarentee:Select * from dba_tablespaces;取消启用rententiongarentee:Alter tablespace undotbs1 retention no guarantee;查看undo表空间使用情况:Select * from v$undostat;Select to_char(begin_time,’yyyymmdd hh24:mi:ss’),to_char(end_time,’yyyymmdd hh24:mi:ss’),undoblks,txncount from v$undostat;6.Oracle11G undo表空间的新特性三、逻辑备份与恢复1.目标2.备份与恢复简介3.故障类型语句故障:不需要人工处理。
Oracle Secure Backup 学习笔记
一、安装For each Linux media server, ensure that the SCSI Generic (SG) driver is installed echo modprobe sg >> /etc/rc.moduleschmod +x /etc/rc.modulesmkdir -p /usr/local/oracle/backupcd /usr/local/oracle/backup/media_dir/setup要安装oracle安全备份软件,必须执行以下步骤:(1)、以root 用户身份执行以下命令,创建OSB 主目录:mkdir -p /usr/local/oracle/backup(2)、浏览至您的OSB 主目录:cd /usr/local/oracle/backup(3)、确保提供了解压缩实用程序:ln -s /bin/gunzip /bin/uncompress(4)、在您的OSB 主目录中,以root 用户身份启动Oracle 安全备份的安装。
/root/osb-10.4.0.1.0_linux.x64_cdrom110923/setup(5)按提示输入即可二、管理磁带使用的obtool命令行工具,首先创建带库然后创建磁带mkdev -t library -o -a rman:/dev/sg13 lib13mkdev -t tape -o -a rman:/dev/sg7 -l lib13 -d 1 tape1301mkdev -t tape -o -a rman:/dev/sg8 -l lib13 -d 2 tape1302mkdev -t tape -o -a rman:/dev/sg9 -l lib13 -d 3 tape1303使用lsdev查看已经创建的devicelsdev列出每个带库的详细信息:inventory -L lib13查看卷信息:lsvol -L lib13 -l可以通过lsdev命令查看,磁带的状态是否还处于offline状态lsdev -g tape1301现在向磁带tape01载入一个卷,载入完成后,状态就是online状态:loadvol -D tape1301 -m write 11卸载磁带unloadvol -D tape1301三、设置备份Configure: Database Backup Storage Selectors可以在这个菜单下,指定不同的备份类型,备份到不同的磁带驱动,如果磁带写满,自动换带。
oracle学习笔记--并行度
并行度是指Oracle在进行并行处理时,会启动几个并行进程来同事执行任 务。 注意:并非并行度越高,并行进程越多,执行速度就会越快,这里面受限 的因素很多,比如系统资源、CPU数量、以及RAC架构下并行进程可能分配 到各个实例上去执行,而进行的实例间数据交换的问题。
使用并行(DEGREE)
修改并行度:
1)表上修改 alter table t2 parallel 3;--修改并行度为3 alter table t2 parallel ; --不设置,oracle会将其设置为默认值
并行度默认值的计算方法 1)非RAC架构 服务器CPU数 * 每个CPU启用的线程数=并行度 2)RAC环境 所有参与并行处理的实例CPU总数 * 每个CPU启用的线程数=并行度
修改对象上并行度
查看CPU和并行度情况:
1)查看实例数(RAC多个实例) show parameter parallel_server_instances;
2)查看cpu个数和 每个cpu启用的线程 show parameter cpu
计算方法:1*32*2=并行度;
修改对象上并行度
但是 基本上都不这样设置,因为太多的并行服务会消耗大量的系统资源而影 响其他用户的操作,不过我们可以设置一个参数: parallel_adaptive_multi_user=true; 此时oracle会根据系统的资源使用情况,动态的进行调整。
未使用并行度效果:
对象上并行度使用效果对比
使用并行度使用并行度为6效果:
对象上并行度使用效果对比
对比总结:
1)并行度为1等同于没有并行度。 2)并行度并非越高越好,有时反而起反作用。 3)有并行度是没有并行度的几倍甚至几十倍,数据量越大效果越明显。
Oracle_Plsql个人学习笔记总结
备注:以下是个人学习笔记总结,其实是本人容易忘记,工作中碰到的一些知识点,记录下来整理成笔记了,序号之间并不是按照某种类型划分的,都是随意的标记一下,希望对大家有所帮助。
昵称:阿杜笑傲江湖(其实就是个名字而已,并不江湖…)name:杜立鸿(不要冒充,万一哪天中奖了呢?)sex:爷们---------------------------废话不多说,GO,GO,Go……1.允许修改分区建(有时候分区键更新不了,需要以下这样处理,当然了分区键本来是不允许更新的,都得根据实际情况)alter table t1 enable row movement;2. 获取某一时间最近的时间sqlselect *from t_datetime twhere t.f_time - to_date('2018-09-06 10:10:00','yyyy-mm-ddhh24:mi:ss') =(select min(t.f_time - to_date('2018-09-06 10:10:00','yyyy-mm-ddhh24:mi:ss'))from t_datetime t);3. 1.创建一个object类型的数据库类型对象。
表示学生实体类型。
(注意:此类型必须定义为数据库对象级别的类型,而不能定义成包、函数级别的类型。
否则,函数外部代码是无法识别该类型的)。
CREATE OR REPLACE TYPE student_obj_type AS OBJECT(stu_no NUMBER, --学号stu_name VARCHAR2(255), --姓名stu_sex VARCHAR2(2),--性别score NUMBER--成绩);4.创建一个嵌套表类型的数据库类型对象。
表示学生实体集合类型。
该类型也将用作函数中定义的返回类型。
(注意:此类型必须定义为数据库对象级别的类型,而不能定义成包、函数级别的类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查看当前日期
进行运算
取别名
可加as也可不加as
字段连接用||
字符串连接
任何数值和null进行运算后,都会得到null值
查看当前日期
设置日期显示格式(只能改当前会话)
对数据进行排序(默认为升序)Asc表示升序,desc表示降序
对数据进行降序排序
对数据进行排序(多字段)
Deptno按升序,sal按降序对数据进行排序
查询deptno为10的ename和deptno
查询sal在2000到4000之间的ename和sal
&的用法
Between … and …的用法(包括前后2个)
In的用法和not in的用法
账户锁定
用户解锁
删除表中数据
先保存
然后删除
再回滚
Distinct关键字可以消除重复行
模糊查询:
_:表示一个字符
%:表示零个或多个字符
Like后必须跟字符用单引号括起来’’查询dname中以s开头s结尾的信息
查询dname中第二个字符是E的信息
查询dname中只要有S的信息
中文也用一个下划线
转义字符用法
转义字符可以随便自定义但一般使用斜杠 \ 在select语句后面加上escape关键字
查询不带%的信息用 NOT LIKE
运算符的优先级
SP和TH的用法
NVL用法
将comm中null的转换为45
NVL2用法NVL2(n,a,b)
将n中为null的变成b,不为null的变成a
NULLIF用法NULLIF(n,a)
将n中与a相等的变成null
将ename为SMITH的工资提升当job为CLERK时乘以2
保存
运行保存的文件
用@
或者run
编辑edit
将查询到的信息存入文件中
先打开SPOOL
将select * from emp 查到的信息存入到d:/result.txt中
然后关闭SPOOL
最大,最小MAX( ) MIN( ) 括号中可以是数值型也可以是字符型也可以是日期
分组函数 AVG/SUM 只能用于NUM类型的数值
COUNT(字段)在记数时会将null忽略;
如果用COUNT(*)的话可以正常记数,不忽略null行
按deptno分组求出各部门的平均工资
按工作职位job分组求出不同职位的平均工资
按职位不同求出每个职位的最高工资
计算出每个部门的人数
求部门人数最多的部门人数
求部门工资大于2000的人数最多的部门
Group by子句要写在where子句后面
分组函数不能写在where子句后面,如果要对组函数进行判断,只能用having子句
Having子句,having子句和group by 没有先后顺序
对多个字段进行分组
表链接多表查询
对表取别名不能用as 对字段取别名可以用as
外连接没有+号的那边全部显示
自连接把一张表当成两张表
99年后新连接自然连接(NATURAL JOIN):自动查询两表中相同字段并作等值连接相同字段的类型要相同,不然就会出错
两个表中必须有相同字段名字和相同类型
两个表相连用JOIN关键字
右外连接连接右边的全部显示,左边显示符合条件的
联合查询 UNION
子查询子查询语句要写在括号里面
子查询语句可以写在where子句后
子查询也可以写在from后面(此时当成一个表)
子查询也可以写在HAVING子句后面
使用子查询创建一个表,此时子查询可以不用写在括号中连表中数据都复制过来
只创建一个和dept结构相同,不复制表中数据
<any 小于条件中的最大的就行
给class表格添加字段
修改表中name字段的长度
使用ROWNUM查询前10条纪录,
ROWNUM伪列只能从1开始
查询8到14条纪录使用子查询
99年后的新外连接右外连接显示出右边的所有信息
向一个表中添加另一个表中的数据
更新表中数据使用子查询
设置只读事务
字符函数
Substr(Char,m,n) char代表截取哪个字符串,m代表从第几个字符开始.n代表截取几个字符;
替换将A替换成‘我是老鼠’
Mod(m,n)m/n取余
日期函数
.add_months(sysdate,10) 在当前日期上加10个月
.last_day(sysdate)返回当前日期所在月份的最后一天
取别名时可以用双引号,也可以不用双引号,但是在区分大小写和有空格的情况下必须使用双引号才行。
正确
错误示范:
1。
有空格
2。
区分大小写
用现有的表填充已知表
TO_CHAR
对表结构进行操作
·添加表字段
·删除表字段
·修改表字段(属性和长度)
字段长度变短时,不能小于字段中任意字符的长度。
·修改表字段名
删除表中数据
不可回滚 truncate后不能跟where语句
可回滚
对表重新命名
创建表时可以给字段定义约束
在定义字段时直接定义约束,叫列约束
定义非空约束只能是列约束,不能进行表约束
在定义字段后,再定义约束,并可以给约束取名字
删除约束
查找表的约束
外键约束 student表中的cid参照class表中的cid
删除回收站中的垃圾
添加约束
添加非空约束
删除有参照的外键的主键,用cascade
让一个约束不可用、失效,并没有删除
让约束生效
创建一个索引
·一般在查询比较频繁的字段上添加索引
创建一个视图
可以给字段取别名
·with check option插入时检查是否符合条件
·with read only 只读不允许对其进行操作
创建公共同义词
把查找sal的权限赋给public公共的,所有用户下都可以查找sal
PLSQL
把输出开启
If语句: If elsif else end if
异常处理
自定义异常
循环语句
LOOP
·if判断语句
·exit when判断语句
WHILE循环
FOR循环
逆转for 。
reverse
游标:
·NOTFOUND属性
给游标一个参数
·FOR循环会自动打开和关闭游标
隐式游标
·ROWCOUNT
修改
创建序列
查找序列名称
修改序列的增长量
触发器
·对表student进行插入操作时,触动触发器
插入一条纪录时,实现触发器
触发器实现即连删除,可删除参照的表中数据
语句级触发器
存储过程
函数。