oracle逐步学习总结之表管理(基础二)

个人原创,转载请注明出处:https://blog.csdn.net/HANHUABAO1122/article/details/85063707

接着上一篇,继续总结!

 

五、oracle表管理

首先,在开头说一下sys用户和system用户的区别:sys用户是超级管理员,权限最大,system是系统管理员,权限次之,一般在管理系统时使用system足以。

 

1、命名规则:

1> 表名必须以字母开头

2> 长度不能超过30字符

3> 不能使用oracle的保留字

4>只能使用A-Z、a-z、0-9、$、#等

 

2、数据类型:

char:固定大小,占内存,比如char(10)中存放两个字符,那么其余的8个字符就用空字符占用,也在占内存

varchar2:可变大小,占空间小,查询速度相对char慢,比如存放两个字符,其余的位置不占用,也就是只要不超过定义的范围,实际用多少占多少,最大4000个字符

number:可以表示小数,也可以表示整数,大小在-10的38次方到10的38次方

number(3,2):表示一个数有3位有效数字,其中小数位占两位,即-9.99----9.99

number(5):表示一个五位整数,即-99999---99999

date:时分秒

blob:二进制数据,可以存放图片、声音,最大4G

 

3、建表

新建一张表,语句:

给一个表增加一个字段

修改字段的长度:

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

 

删除一个字段:

alter table student drop column sal;   该操作风险,注意慎用

 

修改表名字

rename student to stu;

 

删除表

drop table student;

 

查询表;

select * from student;

 

添加数据:

insert into student values('A001','黎明','男','01-05月-2018','3.03',12); 注意日期格式,默认日月年

修改日期默认格式:

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

这时候insert into student values('A001','黎明','男','01-05月-2018','3.03',12); 语句就会报错,必须改为

insert into student values('A001','黎明','男','2018-05-01','3.03',12); 

 

插入部分字段:

insert into student (xh,xm,sex) values ('A002','jonn','男')

 

插入空值:

insert into student (xh,xm,sex,birthday) values('A003','marry','男',null);

此时要查询出生日期为null的字段:

select * from student where birthday is null;

查询出生日期不为空的字段:

select * from student where birthday is not null;

 

修改字段值

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

 

修改多字段:

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

 

删除数据

delete from student ;  //删除了所有的记录,表结构保存,进行了写日志,可以快速回复

恢复:在删除之前创建回滚点:savepoint xx;

然后删除数据

然后:rollback回滚,数据恢复完成,但是再删除后还未commit的时候起作用,一旦commit了,就无效了,如下过程

 

删除表的结果和数据:

drop table student

 

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

truncate table student  

 

 六、oracle的表查询(下次继续总结....)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值