oracle表的管理方式
创始人
2024-12-24 08:04:06
0次

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; --删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...