数据库操作
1、创建表空间:
create tablespace [spacename] datafile [filepathname] size [num];
如:create tablespace leo_tablespace datafile 'F:\oracle\product\10.1.0\oradata\leo_data.dbf' size 500M;
2、创建用户:
create user [username] identified by [password] default tablespace [spacename];
3、为用户授权:
grant connect, resource to [username];
grant dba to [username];
4、创建表:
如:
create table "scott"."director" (
"director_id" number(6) not null,
"name" varchar2(10) not null,
"code" number(18) not null
)
5、创建索引:
create unique index [index_name] on [table_name] ([column_name])
如:
create unique index "bgsuser"."mp_file_info_inx" on "bgsuser"."mp_file_info_tab" ("fileid")
6、查看数据文件路径:
SQL> select file_name from dba_data_files;
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
7、查看数据库字符集:
SQL> select userenv('language') from dual;
AMERICAN_AMERICA.ZHS16GBK
8、启动数据库
先启动监听程序:
lsnrctl start
启动oracle服务
sqlplus / as sysdba
SQL>startup
常用命令
1.查看当前用户:
SQL> show user;
2.使用用户登录数据库:
使用超级管理员账户时,必须使用as sysdba:
SQL> conn sys/oracle as sysdba;
使用其他账户,则:
SQL> conn scott/tigger;
3.设置环境变量:
SQL> set pagesize 30;
SQL> set linesize 150;
4.查看表结构:
SQL> desc table;
5.字符串连接操作,使用"||":
SQL> select '我的名字是:'||username from user;
6.模糊查询通配符:
"%":匹配零个或多个任意字符;
"_":匹配一个任意字符;
7.不等于"<>":
SQL> select * from emp where empno <> 7369;
8.order by 子句:
写在前面的字段先排序,写在后面的后排序。
单行函数
(一)、字符函数
1.小写转换为大写:upper(str)
SQL> select upper('smith') from dual;
SQL> select * from emp where ename = upper('smith');
2. 大写转换为小写:lower(str)
3.首字母大写:initcap(str)
SQL> select initcap('HELLO WORLD') from dual;
4.字符串连接:concat(str, str)
SQL> select concat('hello ', 'world') from dual;
5.截取字符串:
(1)substr(str, begin, sublen):从begin开始从str中截取长度为sublen的字符串
SQL> select substr('hello', 2, 1) sub from dual;
注意:从0和1开始截取的结果是相同的。
(2)substr(str, begin):从begin开始截取str后半部分字符串
SQL> select substr('hello', 3) sub from dual;
SQL> select substr(ename, -4, 2) sub from emp; 当begin为负数时,表示从倒数第几个开始截取
6.字符串长度:length(str)
SQL> select length('hello') len from dual;
7.字符串替换:replace(src, substr, replacestr)
将hello中的所有l替换成x:
SQL> select replace('hello', 'l', 'x') rep from dual;
(二)、数值函数
1.四舍五入:round()
SQL> select round(354.543) from dual; 结果为:355(默认为取整数部分进行四舍五入)
SQL> select round(354.543, 2) from dual; 结果为:354.54(保留两位小数位)
SQL> select round(354.543, -2) from dual; 结果为:400(如果为负数,表示在小数点前几位处进行四舍五入)
2.截断小数位:trunc() 不四舍五入
SQL> select trunc(252.532) from dual; 结果为:252(默认截取整数部分)
SQL> select trunc(252.532, 2) from dual; 结果为:252.53(截取两位小数位)
SQL> select trunc(252.532, -2) from dual; 结果为:200(如果为负数,表示在小数点前几位出开始截取)
3.取模:mod()
SQL> select mod(10, 3) from dual; 结果为:1 (表示10 % 3 = 1)
(三)、日期函数
日期函数规律:
日期 - 数字 = 日期
日期 + 数字 = 日期
日期 - 日期 = 数字(天数)
SQL> select sysdate from dual; 获得当前日期
1.months_between():求出给定日期范围的月数
SQL> select ename, round(months_between(sysdate, hiredate)) months from emp;
2.add_months():在指定日期上加上指定月数
SQL> select add_months(sysdate, 4) from dual;
3.next_day():下一个的今天是哪一个日期
SQL> select next_day(sysdate, '星期一') from dual; 下一个星期一的日期
4.last_day():求出给定日期的那个月的最后一天日期
SQL> select last_day(sysdate) from dual;
(三)、转换函数
1.to_char:转换成字符串
(1)将日期转换成字符串
年:y,年是四位数字,所以使用yyyy表示
月:m,月是两位数字,所以使用mm表示
日:d,日是两位数字,所以使用dd表示
SQL> select to_char(sysdate, 'yyyy') year, to_char(sysdate, 'mm') month, to_char(sysdate, 'dd') day from dual;
日期显示格式转换:
SQL> select to_char(sysdate, 'yyyy-mm-dd') from dual;
去掉月、天前面的前导零:
SQL> select to_char(sysdate, 'fmyyyy-mm-dd') from dual; 在格式前面加上"fm"
(2)将数字转换成字符串
9:表示一位数字
SQL> select to_char(34343, '99,999') from dual;
SQL> select to_char(34343, '$99,999') from dual;
SQL> select to_char(34343, 'L99,999') from dual; 根据本地语言环境进行显示,如果是中文,则显示¥
2.to_number:转换成数字
SQL> select to_number('123') + to_number('123') from dual; 将字符串变为数字再相加
3.to_date:转换成日期
SQL> select to_date('2010-09-10', 'yyyy-mm-dd') from dual;
(四)、通用函数
1.nvl():将空值转换为指定值
SQL> select nvl(comm,0) from emp;
2.decode():类似于条件判断语句if...else if...else
SQL> select decode(3,1,'内容是1',2,'内容是2',3,'内容是3','都不是') from dual;
SQL> select empno, ename, hiredate, sal, decode(job,'ANALYST','分析员','CLERK','业务员','MANAGER','经理','PRESIDENT','总裁','SALESMAN','销售员') job from emp;
多表查询例子:
查询所有员工的名称,所在部门名称,工资,工资等级,上级领导名称,上级领导工资等级。
SELECT E.ENAME, D.DNAME, E.SAL, EG.GRADE, M.ENAME, MG.GRADE FROM EMP E, DEPT D, SALGRADE EG, EMP M, SALGRADE MG WHERE E.DEPTNO = D.DEPTNO AND E.MGR = M.EMPNO AND E.SAL BETWEEN EG.LOSAL AND EG.HISAL AND M.SAL BETWEEN MG.LOSAL AND MG.HISAL;
oracle优化常识:
1.from子句有多个表时,oracle从右到左处理,因此将数据量最小的表名放在from的最末尾。
2.where子句中,将能过滤掉最多数据的条件放在where部分的最末尾,因为oracle是从下自上处理的。
3.select语句中避免使用*
4.设置arraysize环境变量为合适的值。
5.当连接多个表进行查询时,使用表的别名,并且在每个结果字段上加上表的别名
6.合理使用索引
7.SQL语句用大写,oracle总是会先将小写转换为大写,再执行
8.不要在索引字段上进行计算,这样oracle会停止使用索引,而采用全表扫描
如:select sal*12 > 2500;
可改为:select sal > 2500/12;
9.避免改变索引列的类型。避免比较两个不同类型的值,oracle会自动使用转换函数进行转换,只要在索引字段上
使用了函数,则会停止使用索引。
10.尽量使用where替代having,即在group by之前尽量使用where子句过滤掉不需要的记录。
分享到:
相关推荐
Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
在Oracle学习笔记中,对安装卸载和配置的详尽讲解,不仅为学习者提供了操作指导,而且还涉及到了数据库管理的一些基础知识点。这些内容对于数据库管理员和开发人员来说都是十分重要的,因为它们是操作Oracle数据库的...
Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...
### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...
ORACLE学习笔记:日常应用、深入管理、性能优化.part1
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...
全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...
根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ...以上是基于提供的内容整理出的Oracle学习笔记中的关键知识点。通过理解这些基础知识,可以更好地管理和操作Oracle数据库。
### Oracle 学习笔记知识点详解 #### 一、Oracle 数据库简介 Oracle 是一款由美国甲骨文公司开发的关系型数据库管理系统。它以其强大的数据处理能力、高度的安全性及稳定性而闻名于世,在金融、电信、政府等领域...
Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...
在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...
oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记