1、ORACLE 基础培训,业务支撑部2011-6-10,参考资料,SQL基本概念_1.pdf SQL基本概念_2.pdf Ora9iSQLRef.chm,课程内容,数据库产品介绍,客户端软件安装和配置,数据库基本概念介绍,日常使用命令,SQL语言,关系数据库产品主要有: ORACLE数据库 IBM DB2数据库 SQL SERVER数据库 MySql等其它数据库NGBOSS系统使用ORACLE数据库,经营分析系统使用DB2数据库,较少使用其它数据库产品。,数据库产品介绍,课程内容,数据库产品介绍,客户端软件安装和配置,数据库基本概念介绍,日常使用命令,SQL语言,客户端软件安装和配置,安装ORA
2、CLE 客户端 配置数据库连接安装PL/SQL Developer工具,在目录“D:softwareoracle9_client”下执行程序setup.exe,安装ORACLE客户端-(1),安装ORACLE客户端-(2),安装ORACLE客户端-(3),安装ORACLE客户端-(4),安装ORACLE客户端-(5),安装ORACLE客户端-(6),配置ORACLE客户端-(1),配置ORACLE客户端-(2),配置ORACLE客户端-(3),配置ORACLE客户端-(4),配置ORACLE客户端-(5),配置ORACLE客户端-(6),配置ORACLE客户端-(7),配置ORACLE客户端-
3、(8),配置ORACLE客户端-(9),配置ORACLE客户端-(10),也可以直接编辑TNS配置文件: C:oracleora92networkADMINtnsnames.oraNGCRMDBTEST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.200.130.2)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = NGCRMDBT),安装PL/SQL Developer工具-(1),运行安装程序“pls-setup.exe”,安装PL/SQL Developer工
4、具-(2),打开sn.txt,把注册编码复制到输入框,安装PL/SQL Developer工具-(3),安装PL/SQL Developer工具-(4),安装PL/SQL Developer工具-(5),安装PL/SQL Developer工具-(6),安装PL/SQL Developer工具-(7),安装PL/SQL Developer工具-(8),点击“Log on”图标,输入用户名和密码连接到数据库,即可以执行SQL语句对数据库进行操作。,安装PL/SQL Developer工具-(9),点击“New”图标,可以打开SQL、Command、Explain plan窗口。,安装PL/SQL
5、 Developer工具-(10),答疑交流,课程内容,数据库产品介绍,客户端软件安装和配置,数据库基本概念介绍,日常使用命令,SQL语言,数据库基本概念-(1),Oracle 服务器:Oracle 服务器中包含多种文件结构、进程结构和内存结构;但是,处理SQL 语句时,并非所有这些结构都会用到。某些结构用于提高数据库的性能,确保该数据库在遇到软件或硬件错误时可以恢复,或者执行维护该数据库所需的其它任务。Oracle 服务器包括一个Oracle 例程和一个Oracle 数据库。Oracle 例程:Oracle 例程是后台进程和内存结构的组合。只有启动例程后,才能访问数据库中的数据。每次启动例程
6、时,会分配系统全局区(SGA) 并启动Oracle 后台进程。后台进程代表调用进程执行各种功能。它们把为每个用户运行的多个Oracle 程序所处理的功能统一起来。后台进程执行输入/输出(I/O),并监视其它Oracle 进程来提高并行性,从而使性能和可靠性更加优越。,数据库基本概念-(2),Oracle 数据库:Oracle 数据库包含操作系统文件(也称为数据库文件),这些文件为 数据库信息提供了实际的物理存储。数据库文件用于确保数据一致性并能在例程失败 时得以恢复。 表空间:是实际存储数据的地方。数据库存储分配就是表空间的定义过程,因此表空间的设计对数据库物理设计极为重要,其参数设定好坏对数
7、据库的性能及维护影响巨大。,数据库基本概念-(3),表:表是由确定的列数和可变的行数组成的逻辑结构。是存放数据的基本单元。,数据库基本概念-(4),视图:视图提供了在一个表或多个表中查看数据的替代方法,它是表上的一个动态窗口。视图并没有存储数据,它只是将一个查询结果集表示成一个虚拟表。 索引:索引是为了加快查询的速度而在表上创建的对象。,课程内容,数据库产品介绍,客户端软件安装和配置,数据库基本概念介绍,日常使用命令,SQL语言,SQL语言,SQL语言创建表,使用CREATE TABLE语句创建表,需指定表名、列名和数据类型。,SQL语言创建视图,使用CREATE VIEW语句创建视图,以限制
8、对表的数据访问或代替常用的SQL查询语句。,SQL语言修改表,SQL语言删除表,在ORACLE10版本以后,如果DROP不带PURGE选项,则会把表先放在回收站 DROP TABLE A PURGE; SELECT * FROM USER_RECYCLEBIN; PURGE TABLE A;,SQL语言RENAME,SQL语言注释,SQL语言-插入数据,SQL语言-插入数据,更新数据,更新数据,SQL语言MERGE,SQL语言MERGE,删除数据,答疑交流,查询语句,Subselect语法:,Select-cause:,查询语句-选择列,查询语句-选择行,查询语句-选择行,可以使用AND和OR
9、来指定任意多个查询条件。,查询语句-选择行,查询语句-排序,查询语句-去除重复行,查询语句-运算次序,查询语句的运算次序如下,一个子句的输出是下一个子句的输入。只有运算次序在后面的子句才能引用运算次序在前面的子句。,查询语句-给表达式命名,查询语句-子查询,查询语句-列函数,列函数对列中的一组值进行运算以得到单个结果值。,查询语句-标量函数,标量函数对一个单一值进行某个运算以返回另一个单一值。,答疑交流,查询语句,字符串使用单引号,如:Clerk ORDER BY 指定多列时,先按第一列排序,对于第一列相同的行,再按第二列排序. 不同列可以指定不同的排序,如: SELECT DISTINCT
10、DEPT, JOB FROM STAFF WHERE DEPT 30 ORDER BY DEPT ASC, JOB DESC,查询语句,多个搜索条件: SELECT DEPT, NAME, JOB FROM STAFF WHERE JOB = Clerk AND (DEPT = 20 OR DEPT=21),查询语句-分组,将WHERE子句与GROUP BY子句一起使用,查询语句-分组,在GROUP BY子句之后使用HAVING子句,查询语句-标量全查询,标量全查询返回一行,且该行只有一个值。,查询语句-条件表达式,查询语句-条件表达式,查询语句-相关子查询,查询语句-集合运算,查询语句-集合
11、运算,查询语句-集合运算,查询语句-集合运算,查询语句-集合运算,The expressions in the SELECT lists must match in number and data type. Parentheses can be used to alter the sequence of execution. The ORDER BY clause: Can appear only at the very end of the statement Will accept the column name, aliases from the first SELECT statem
12、ent, or the positional notation,查询语句-谓词,查询语句-谓词,查询语句-谓词,答疑交流,查询语句-连接,查询语句-连接,查询语句-连接,查询语句-连接,查询语句-连接,课程内容,数据库产品介绍,客户端软件安装和配置,数据库基本概念介绍,日常使用命令,SQL语言,日常使用命令-函数,日常使用命令-建表,建相同定义表: CREATE TABLE TAB_TEST AS SELECT * FROM UCR_CRM1.TF_F_USER WHERE ROWNUM1,日常使用命令-删除数据,删除表: DROP TABLE TAB_TEST清空表数据: TRUNCATE
13、TABLE TAB_TEST,日常使用命令-装载数据,导入文本数据 sqlldr username/passwordngcrmdb1 direct=true control=load.ctl log=load.log,日常使用命令-后台执行过程,对于运行时间较长的存储过程或者SQL语句,为了避免网络中断的影响,最好放在后台执行,日常使用命令-定时作业,配置格式: * * * * * command 第1位是分钟,第2位是小时,第3位是日,第4位是月,第5位是星期(0-6,0为星期天),如果为*表示任意时间 如: 0 1 20-31 1,12 * cmd.sh :表示1月、12月的20日至31日
14、1点0分执行cmd.sh脚本 crontab l :查看当前用户有哪些定时作业 crontab filename :将文件的内容导入到定时作业列表 crontab r :清除定时作业列表 crontab e : 编辑定时作业,日常使用命令-主机命令,man cmd :查看cmd命令的帮助 cp r a b :将a目录(包括子目录)复制到b目录下 mv a b :将a文件(或目录)改名为b,或者移到b目录下 rm r a :删除a文件(或目录,包括子目录) ps ef|grep abc :检查名称为abc的进程是否存在 chmod u+x cmd.sh :将脚本cmd.sh设置为可执行 nohu
15、p cmd.shcmd.log& :在后台执行命令,退出登录也不会中断命令,日常使用命令-主机命令,tar cvf a.tar a :将a目录打包成a.tar文件 tar xvf a.tar :在当前目录解包a.tar文件 compress a :将a文件压缩 uncompress a.Z :将a.Z文件解压 vi命令说明:,日常使用命令-FTP命令,ftp 10.199.28.1 ftphelp :查看FTP帮助 ftpcd a :切换到远端主机的a目录 ftplcd b :切换到本机的b目录 ftpasc :用文本传输方式 ftpbin :用二进制传输方式 ftpget a.txt :下载a.txt文件 ftpput a.txt :上传a.txt文件 ftpprom :打开或关闭提示 ftpmget a* :下载a开头的多个文件 ftpmput a* :上传a开头的多个文件,答疑交流,谢 谢!,