oracle学习笔记

发布 2021-05-11 23:41:28 阅读 1153

oracle表管理。

表名和列的命名规则。

1.必须以字母开头。

2.长度不能超过30字符。

3.不能使用oracle的保留字。

4.只能使用如下字符a-z,a-z,0-9,$,#等。

数据类型。字符型。

char 定长,最大符 (定长,假如长度没达到要求,用空格补全其余的位;不过查询效率最高)

varchar2变长,最大符。

clob(character large object) 字符型大对象,最大4g(超过符)

数字型。number 可以表示整数、小数。

例子:number(5,2)表示一个小数有5位有效整数,2位小数。

number(5)表示一个5位整数。

日期类型。date 包含年月日和时分秒。

timestamp 这是oracle9i对date数据类型的扩展(精度更高)

**。blob 二进制数据,可以存放**、声音,最大4g

表空间:表创建:

表的修改:添加一个字段。

sql> alter table student(表名) add(classid number(2));

修改字段的长度。

sql> alter table student modify(xm varchar2(30));

修改字段的类型或者名字(不能有数据)

sql> alter table student modify(xm char(30));

删除一个字段。

sql> alter table student drop column sal(列名);

修改表的名字。

sql> rename student to stu;

删除表。sql> drop table student;

表的查询(重点:多表查询,联合查询;oracle是区分数据大小写)

查看表结构。

sql> desc dept;

查询所有列。

sql> select * from dept;

查询指定列。

sql> select ename,sal,job,deptno from emp;

如何取消重复行。

sql> select distinct deptno,job from emp;

显示操作时间。

sql> set timing on;

使用算数表达式。

sql> select sal*12 "年工资",ename from emp;

关于处理null值(nvl函数)

nvl函数使用格式:nvl(字段名,0)

sql> select sal*12+nvl(comm,0)*12,ename from emp;

连接字符串(||

select ename ||is a' |job from emp;

使用where子句。

select ename,sal from emp where sal>3000;

select ename,hiredate from emp where hiredate>'1-1月-1982';

select ename,sal from emp where sal>=2000 and sal<=2500;

使用like操作符。

表示任意0到多个字符。

表示任意单个字符。

select ename,sal from emp where ename like 's%';

select ename,sal from emp where ename like '_o%';

在where子句中使用in方法。

select * from emp where empno in(123,456,234); 批量处理empno=123 or empno=456 ..

select * from emp where mgr is null;

使用逻辑操作符。

select * from emp where (sal>500 or job='manager') and ename like 'j%';

使用order by子句。

select * from emp order by sal;//默认是从小到大排列,asc

select * from emp order by sal desc;//从大到小的排列。

select * from emp order by deptno,sal desc;

select * from emp order by deptno,hiredate desc;

select ename,sal*12 "年薪" from emp order by "年薪" asc;

分页查询。oracle表复杂查询。

添加数据。所有字段都插入。

insert into student values('a001','张三','男','01-5月-1983',500,12);

oracle中默认的日期格式'dd-mon-yy'

dd 日子(天)

mon 月份。

yy 2位的年

09-6月-99' 表示 2024年6月9号修改日期的默认格式。

alter session set nls_date_format = yyyy-mm-dd';

插入部分字段。

insert into student(xh,xm,sex) values('a003','johm','女');

插入空值。insert into student(xh,xm,sex,birthday) values('a004','martin','男',null);

查询空字段。

select * from student where birthday is null; 正确查询方式(birthday is not null)

select * from student where birthday=null; 查询结果为空。

select * from student where birthday=""报错,非法的零长度标识修改一个字段。

update student set sex='女' where xh='a001';

修改多个字段(多字段间用逗号隔开)

update student set sex='男',birthday='1980-04-01' where xh='a001';

修改含有null值的数据。

update student set birthday='1983-06-17' where birthday is null;

修改sal字段,数字减半。

update student set sal=sal/2 where sex='男';

删除数据(表还在)

delete from student;

数据恢复保存节点(oracle支持多个保存点)

…(插入数据);

s**epoint a;

删除数据。delete from student;

回滚恢复。rollback to a;

设置保存点:s**epoint a;

恢复保存点:rollback to a;

删除表的结构和数据。

drop table student;

删除一条记录。

delete from student where xh='a001';

删除所有记录(表结构还在,不写日志,无法找回删除的记录,速度快)

truncate table student;

删除所有记录(表结构还在,写日志,可以恢复记录,速度慢)

delete table student;

oracle清屏。

sql> clear screen;

sql> clea scre;

ORACLE学习笔记

rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...

Oracle学习笔记

参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...

ORACLE学习笔记

目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...