`
kylinsoong
  • 浏览: 239639 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle Start Up 3:Oracle数据库基础

阅读更多

 1. 创建TableSpace、用户及给用户分派权限

      可以通过Oracle客户端工具Enterprise Manager Console连接相应数据库,通过图形化操作来完成,这里我记录通过sqlplus连接到Oracle,通过命令来完成创建TableSpace、用户及给用户分派权限:

create tablespace testall datafile 'c:\oracle\product\oradata\datafile.dbf' size 100M;
create user kylin identified by ADMIN default tablespace testall;
grant connect,resource,dba to kylin;

 2.简单的表操作

      以上面创建的用户连接到数据库,创建一个表,向表中插入一条数据,查询数据,删除表,如下所示:

create table student(
name varchar2(20),
age number(3)
);

insert into student values('Kobe Bryant',32);

select * from student;

desc student;

drop table student;

 3.用Scott用户登录,练习一组查询语句

select empno,ename,job,sal,sal*12+200 from emp;
select empno,hiredate, hiredate+10 from emp;

select ename||' is a '||job from emp;
select ename||' ''s annual salary is '|| sal*12 from emp;

select empno as employeeId, ename name, job "Job",sal*12 "Annual Salary" from emp;
select empno "Empno",ename "Ename",sal, comm, ename||' - '|| comm, sal+comm from emp;

DISTINCT 去除重复行

select deptno from emp;
select distinct deptno from emp;
select distinct deptno, job from emp;

 查询结果排序ORDER BYASC(升序,缺省),DESC(降序)

select * from emp order by sal;
select * from emp order by sal desc;
select ename,sal,deptno from emp;
select ename,sal,deptno from emp order by sal desc,deptno;
select ename,sal,deptno from emp order by sal desc,deptno desc;

 

条件查询

select * from emp where ename='SMITH';
select * from emp where deptno=10;
select * from emp where sal >= 3000;
select * from emp where sal >= 3000;

获取当前系统时间:

select sysdate from dual;

 比较查询

select * from emp where sal between 1200 and 1900;
select * from emp where ename in ('SCOTT','WARD');
select * from emp where deptno <> 30;

模糊查询(%表示一个或多个字符,_表示一个字符,对于特殊字符可以用ESCAPE来查找)

select * from emp where ename like 'S%';
select * from emp where ename like '_A%';
select * from emp where ename like '%\_%' escape '\';

 空值判断

select * from emp where comm is null;
select * from emp where comm is not null;

 逻辑运算符

select * from emp where sal>2000 and deptno=20;
select * from emp where sal>2000 or deptno=20;
select * from emp where ename not in('SIMITH','JONES','KING','SCOTT');

 

 4.Oracle主要数据类型

 

Oracle数据类型
char 字符型,最大长度2000B,缺省长度1B
nchar 基于NLS(National Language Support)的字符型,最大长度2000B,缺省长度1B
varchar2 可变长度字符型,最大长度4000B
nvarchar2 基于NLS,其余同varchar2
varchar 同varchar2
number(m,n) 数值型,m为总位数,n为小树位数,m最大为38
date 日期型,保存日期和时间
long 变长字符型,最大长度2GB,不支持对字符串进行搜索
raw 变长二进制数据类型,最大长度2000B
long raw 变长二进制数据类型,最大长度2GB
blob 二进制大对象类型,最大长度4GB
clob 字符大对象类型,最大长度4GB
nclob 基于NLS,同nclob
bfile 在数据库外部保存的大型二进制文件的大对象类型,最大长度4GB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.函数 

字符函数

 

函数 功能 用法 返回结果
lower() 转化为小写 lower(KOBE BRYANT) kobe bryant
upper() 转化为大写 upper(kobe bryant) KOBE BRYANT
initcap() 字母首字母大写 initcap(KOBE BRYANT) Kobe Bryant
concat() 字符串连接 concat('Kobe','Bryant') Kobe Bryant
substr() 字符串截取 substr('Kobe Bryant',6,6) Bryant
length() 返回字符串长度 length('Kobe Bryant') 11
instr() 定位字符串 instr('Kobe Bryant','be') 3
lpad() 左侧填充 lpad('kobe',10,'*') ******kobe
rpad() 右侧填充 rpad('kobe',10,'*') kobe******
trim() 过滤首尾空格 trim('    Kobe Bryant   ') Kobe Bryant
replace() 替换 replace('Kobe Bryant','Kobe','Kylin') Kylin Bryant

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SQL语句:

select empno,lower(ename),job from emp;
select empno,initcap(ename),job from emp;
select concat('Kobe','Bryant') from dual;
select substr('Kobe Bryant',6,6) from dual;
select length('Kobe Bryant') from dual;
select instr('Kobe Bryant','be') from dual;
select lpad('kobe',10,'*') from dual;
select rpad('kobe',10,'*') from dual;
select trim('    Kobe Bryant   ') from dual;
select replace('Kobe Bryant','Kobe','Kylin') from dual;

 数值函数

 

函数 用法 功能 返回结果
abs() 取绝对值 abs(-3.14) 3.14
round() 四舍五入

round(3.1415)

round(3.1415,3)

round(314.1592,-2)

3

3.142

300

trunc() 截断 trunc(3.1415,3) 3.141
ceil() 向上取整 ceil(3.14) 4
floor() 向下取整 floor(3.14) 3
sign() 判断数值正负

sign(-3.14)

sign(0)

sign(3.14)

-1

0

1

sin() 三角函数 sin(3.14) .001592653
power() 冥运算 power(4.5,2)
sqrt() 开平方根 sqrt(9) 3
mod() 取模 mod(10,3) 1
exp() 基数为e的冥运算 exp(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关SQL语句

select ename,sign(sal-1250) "Salary Info" from emp;
select sin(3.14) from dual;

 日期类型相关函数

 

函数 功能 用法 返回结果
add_months(x,y) 计算在日期x上加上y个月后的日期 add_months(sysdate,2)
last_day(x) 返回日期x当月最后一天的日期 last_day(sysdate)
months_between(x,y) 返回日期x和y之间相差的月数 months_between(sysdate,sysdate)
round(x,y) 将日期x四舍五入到y所指定的日期单位(月或年)的第一天

round(sysdate,'month')

round(sysdate,'year')

01-10月 -10

01-1月  -11

trunc(x,y) 将日期x截断到y所指定的日期单位(月或年)的第一天

trunc(sysdate,'month')

trunc(sysdate,'year')

01-10月 -10

01-1月  -10

next_day(x,y) 计算指定日期x后的第一个星期几(由参数y指定)对应的日期 next_day(sysdate,星期二)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关测试SQL语句

select add_months(sysdate,2) from dual;
select last_day(sysdate) from dual;
select ename,months_between(sysdate,hiredate) from emp; 
select round(sysdate,'month') from dual;
select round(sysdate,'year') from dual;
select trunc(sysdate,'month') from dual;
select trunc(sysdate,'year') from dual;
select next_day(sysdate,'星期二') from dual;

转换函数

如下图所示,为常用几个转换函数



 常用日期格式符:

 

格式符 说明 举例
yyyy 年份 2010
mm 用数字显示月份 10
dd 在当月中是第几天 5
day 星期几 星期日
am/pm 显示上午或下午 上午
hh/hh12/hh24 小时 7:41 21:41
mi 分钟 41
ss 46

 

      除上述格式符外,Oracle中日期模式还常用:"- : ; /",如要显示其他文本字符串则需要使用双引号括起来;也可以模式串的开头使用"fm"标记以去掉数字前面的零。

SQL描述

select empno,ename,job, to_char(hiredate,'yyyy-mm-dd') from emp;
select to_char(sysdate,'yyyy-mm-dd hh:mi,ss am') from dual;

select to_char(sysdate,'yyyy"年"mm"月"dd"日" hh:mi,ss am') from dual;

select to_date('2010-10-02','yyyy-mm-dd') from dual;

 常用数字描述符:




 
 
           
格式符 说明
9 代表一位数字
0 代表一位数字,强制显示0
$ 放置一个美元符
L 放置一个本地货币符
. 小数点
, 千位指示符

SQL示例:

select to_char(123123.123456) from dual;
select to_char(123456.123456,'$999,999.0000000') from dual;
select to_number('123456') from dual;
select to_number('985,365.1245','999,999.000000') from dual;

 

  • 大小: 26.7 KB
1
0
分享到:
评论

相关推荐

    Centos7离线安装oracle11g所需要的rpm包下载 ,亲测可用

    7. **安装Oracle数据库软件**:现在,你可以在离线环境中运行Oracle数据库的安装脚本了。将Oracle 11g的安装介质挂载到一个目录,如`/media/cdrom0`,然后以`oracle`用户身份运行安装程序。 ``` su - oracle cd ...

    Oracle流配置,复制schemas关键点

    - 作用:导出源数据库的数据,作为备份或迁移的基础。 9. **导入数据 (Import Data)**: - 命令:`IMPDP / IMP` - 作用:将导出的数据导入到目标数据库中。 10. **启动捕获 (Start Capture)**: - 命令:`EXEC...

    单机创建物理Oracle9istandby数据库

    3. **在 Standby 服务器上创建数据库**:在 Standby 服务器上创建一个新的数据库实例,如 `Pstandby`,但不完成初始化过程。 4. **恢复和打开 Standby 数据库**:使用 `RESTORE` 和 `RECOVER` 命令恢复数据文件,并...

    Oracle sharding database安装操作手册

    Oracle Sharding 是Oracle数据库提供的解决方案,使得应用程序可以将数据存储在多个分片中,每个分片都像是独立的数据库一样运行,而系统则可以透明地管理这些分片。 Linux操作系统是Oracle数据库广泛应用的操作...

    oracle自动启动与停止配置技术文档及脚本

    Oracle数据库在Linux系统中的自动启动与停止配置是系统管理员必须掌握的关键技能,它涉及到系统服务管理、用户权限以及脚本编程。以下将详细介绍这个过程。 首先,我们需要了解Oracle数据库自动启动的核心配置文件...

    最全的oracle常用命令大全.txt

    Oracle数据库有哪几种启动方式 说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动...

    Oracle 基础语句 函数大全(字符串函数

    在Oracle数据库中,字符串处理是日常数据库操作的重要组成部分。这里我们详细探讨了多个与字符串相关的函数,它们在处理和操作文本数据时非常有用。 1. **SUBSTR** 函数:这个函数用于从字符串中提取子串。基本语法...

    更改ORACLE SGA的详细步骤

    start up; ``` 4. **恢复初始设置**(如果遇到问题): - 当修改 SGA 参数导致数据库无法启动时,可以通过以下步骤恢复: - 使用 DOS 端登录 Oracle: ``` sqlplus /nolog Conn / as sysdba ``` - 找到...

    oracle bat脚本

    Oracle数据库是企业级广泛应用的关系型数据库管理系统,而Oracle BAT脚本则是Windows环境下使用批处理(BAT)文件对Oracle数据库进行操作的一种方式。本篇将详细阐述如何利用Oracle BAT脚本来实现每日定时备份与清理...

    Oracle,MS-SQL server命名规范和语法整理.txt

    - **MSSQL与Oracle**:基本语法一致,但Oracle提供了更丰富的功能,如`WITH`子句用于定义子查询,以及`CONNECT BY`和`START WITH`用于层次查询。 综上所述,无论是命名规范还是具体的语法特性,Oracle与MS SQL ...

    installing oracle9i on redhat linux.rar

    在Redhat Linux上安装Oracle 9i是一项技术性较强的任务,涉及到操作系统配置、软件依赖、系统用户设置等多个方面。...通过这个过程,你不仅可以提升Linux系统的操作技能,还能深入理解Oracle数据库的架构和运作机制。

    oracle9i handbook的sctipt

    3. **StatspackCleanup.ksh 和 statspack_cleanup.ksh**:Statspack 是 Oracle 9i 提供的一个性能分析工具,这两个脚本用于清理 Statspack 收集的旧统计信息。定期清理可以节省存储空间,并保持性能报告的时效性。...

    Oracle 9i Streams

    Oracle 9i Streams 是 Oracle 数据库的一个关键组件,主要用于实现数据库间的实时数据复制与传输。它通过捕获源数据库(Source Database)上的变更数据,并将这些变更应用到目标数据库(Target Database)上,从而...

    oracle流复制脚本

    Oracle Streams是Oracle数据库提供的一种用于实时捕获、传播和应用数据库变化的技术。它支持多种类型的数据移动需求,包括异构环境下的数据复制、数据整合以及实时数据分析等场景。在数据迁移项目中,Oracle Streams...

    linux下oracle设置开机自启动实现方法

    在Linux环境下,Oracle数据库并不默认设置为开机自启动。因此,如果你在CentOS 6.3上安装了Oracle 10g R2,你需要手动配置它以实现开机启动。以下是一份详细的步骤来帮助你设置Oracle数据库的开机自启动。 **一、...

    oracle asm rac

    Cleaning up Everything [root@node1 mnt]# 4、软件包规划 安装所有依赖包 binutils-* compat-libstdc++-* elfutils-libelf-* elfutils-libelf-devel-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* ...

    oracle job 例子

    Oracle Job 是 Oracle 数据库中的一个特性,用于在指定的时间执行一系列数据库操作,这些操作可以是 PL/SQL 块、存储过程或者包。这个功能在数据库管理、数据维护、批处理任务等方面非常实用。在本篇文章中,我们将...

    启动和关闭数据库

    在Oracle数据库管理中,启动和关闭数据库是日常运维的重要环节,涉及到数据库实例的生命周期管理和数据安全。数据库实例是由服务器上的内存结构和一系列服务进程组成的,它负责管理数据库的运行状态和处理用户请求。...

Global site tag (gtag.js) - Google Analytics