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 ...