Oracle 表的管理


INDEX
|-----Oracle表的管理



期望:1。掌握Oracle表的管理(创建和维护)
2。撞我对oracle表的各种查询技巧
3 。学会创建新的Oracle数据库

一。Oracle表的管理
·表名和列明的命名规则
     |--必须以字母开头
     |--长度不能超过30字符
     |--不能使用Oracle的表达式
     |--只能使用如下字符 A-Z a-z 0-9 $ #

·Oracle支持的数据类型
字符型
char (定长) 最大2000字符-----效率非常的高!
Ex:char(10) '小韩' 前面4个字符放'小韩',后面添加6个空格补全
varchar2(20) 变长 最大4000字符
Ex:varchar2(10) '小本'  Oracle 会分配4个字符,可以节省空间
clob(character large object) 字符型大对象 最大4G

数字型
number 范围10的-38次方-10的38次方

number(5,2)
表示一个小数有5位有效数,2位小数

number(5)
表示一个五位整数,

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

timestamp 这是Oralce9I对date数据的扩展(精度更高,毫秒)

图片
blob  二进制数据  可以存放图片/声音/ 4G
(在真实的项目里面,图片和声音都不会直接存放在数据中,一般只是放存放的路径,

但是,如果图片或者声音的保密性很高,就要存在里面)

·建表
--学生表
----->create table student(
xh number(4),
xm varchar2(20),
sex char(2),
birthday date,
sal number(7,2)
);

--班级表
create table classes(
classId number(2),
cName varchar2(40)
);

·修改表

--添加一个字段
----->alter tbale student add (classid number(2));

--修改字段的长度
----->alter table student modify (xm varchar2(30));

--修改字段的类型/或是名字(!不能有数据!)//很危险
------>alter table student modify (xm char(30));

--删除一个字段
------>alter table student drop column sal;

--修改表的名字//更危险....
----->rename student to stu;

--删除表
----->drop table student;

·添加数据
--所有字段都插入
----->insert into student values ('A001','张三','男','01-5月-05',10);

<
oracle 的默认的日期格式是‘DD-MON-YY’  
EX:'09-6月-99'

改格式:alter session set nls_date_format='yyyy-mm-dd';
ex:'1993-07-22'

insert into student values ('A002','mike','男','1905-04-24',10);
>

--插入部分字段
----->insert into student(xh,xm,sex) values ('A003','JOHN','女');

--插入空值
----->insert into student(xh,xm,sex,birthday)
-----values('A004','MARTIN','男',null);

--查询空值
--select * from student where birthday is null;

--修改字段
----->update student set sex='女' where xh='A001';

--修改多个字段
----->update student set sex='男',birthday='1992-01-01' where xh='A001';

--修改含有null值得数据

·删除数据
delete from student;  删除所有记录,表结构还在,写日志,可以恢复的,速度慢
//删除之前必须要savepoint [name],
ex:
----->savepoint aa;
----->delete from student ;
----->rollback to aa;       //回滚完成

drop table student;  删除表的结构和数据

delete from student where xh ='A001';  删除一条记录

truncate table student; 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值