温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle表的管理方式

发布时间:2021-09-14 10:58:32 来源:亿速云 阅读:138 作者:chen 栏目:数据库

本篇内容主要讲解“oracle表的管理方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle表的管理方式”吧!

oracle 支持的数据类型 
字符类 
char       定长 最大 2000 个字符。  
Oracle  笔记
5
例子:char(10)   ‘小韩’前四个字符放‘小韩’,后添 6 个空格补全 如‘小韩   ’ 
varchar2(20)   变长   最大 4000 个字符。 
例子:varchar2(10) ‘小韩’ oracle 分配四个字符。这样可以节省空间。 
clob(character large object) 字符型大对象 最大 4G 
char 查询的速度极快浪费空间,查询比较多的数据用。 
varchar 节省空间 
数字型 
number 范围 -10 的 38 次方 到 10 的 38 次方 
可以表示整数,也可以表示小数 
number(5,2) 
表示一位小数有 5 位有效数,2 位小数 
范围:-999.99 到 999.99 
number(5) 
表示一个 5 位整数 
范围 99999 到-99999 
日期类型 
date 包含年月日和时分秒     oracle 默认格式   1-1 月-1999 
timestamp 这是 oracle9i 对 date 数据类型的扩展。可以精确到毫秒。 
 图片 
blob 二进制数据 可以存放图片/声音   4G     一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般存放
图片、视频的路径,如果安全需要比较高的话,则放入数据库。 
怎样创建表 
建表 
--学生表 
create table student (       ---表名
xh             number(4),     --学号
xm       varchar2(20),     --姓名
sex           char(2),         --性别
birthday date,                 --出生日期
sal           number(7,2)     --奖学金 
); 
--班级表 
CREATE TABLE class( 
classId NUMBER(2), 
cName VARCHAR2(40) 
); 
修改表 
 添加一个字段 
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;  
Oracle  笔记
6
 修改表的名字     很少有这种需求 
SQL>RENAME student TO stu; 
 删除表 
SQL>DROP TABLE student; 
添加数据
所有字段都插入数据 
INSERT INTO student VALUES ('A001', '张三', '男', '01-5 月-05', 10); 
oracle 中默认的日期格式‘dd-mon-yy’ dd 日子(天) mon 月份   yy   2 位的年   ‘09-6 月-99’ 1999 年 6 月 9 日 
修改日期的默认格式(临时修改,数据库重启后仍为默认;如要修改需要修改注册表) 
ALTER SESSION SET NLS_DATE_FORMAT ='yyyy-mm-dd'; 
修改后,可以用我们熟悉的格式添加日期类型: 
INSERT INTO student VALUES ('A002', 'MIKE', '男', '1905-05-06', 10); 
插入部分字段 
INSERT INTO student(xh, xm, sex) VALUES ('A003', 'JOHN', '女'); 
插入空值 
INSERT INTO student(xh, xm, sex, birthday) VALUES ('A004', 'MARTIN', '男', null); 
问题来了,如果你要查询 student 表里 birthday 为 null 的记录,怎么写 sql 呢? 
错误写法:select * from student where birthday = null; 
正确写法:select * from student where birthday is null; 
如果要查询 birthday 不为 null,则应该这样写: 
select * from student where birthday is not null; 
修改数据 
 修改一个字段 
UPDATE student SET sex = '女' WHERE xh = 'A001'; 
 修改多个字段 
UPDATE student SET sex = '男', birthday = '1984-04-01' WHERE xh = 'A001'; 
修改含有 null 值的数据 
不要用 = null 而是用 is null; 
SELECT * FROM student WHERE birthday IS null; 
 删除数据 
DELETE FROM student; 
删除所有记录,表结构还在,写日志,可以恢复的,速度慢。 
Delete 的数据可以恢复。 
savepoint a; --创建保存点 
DELETE FROM student; 
rollback to a;   --恢复到保存点 
一个有经验的 DBA,在确保完成无误的情况下要定期创建还原点。 
DROP TABLE student; --删除表的结构和数据; 
delete from student WHERE xh = 'A001'; --删除一条记录; 
truncate TABLE student; --删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

到此,相信大家对“oracle表的管理方式”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI