【笔记】Oracle 数据库编程 - 基本语句总结

一、创建表

创建表:
create table student(
name varchar2(20),
sex char(1),
age number(2),
birth date
);

使用子查询创建表:
create table student_bak as(
select name,sex from student
); 
create table student_bak as(
select * from student
); 
create table student_bak as(
select name,sex from student where age=18
); 

外部表...

数据字典...

属于其他用户的表不会包含在您的方案中。如果需要使用不在自己方案中的表,可以将表所有者的姓名用作表名的前缀:
select * from mary.学生;

二、数据类型

字符值:
char(固定大小, 最多2000 个字符);
varchar2(可变大小, 最多4000 个字符);
clob(可变大小, 最大128 兆兆字节)

数值:
number(可变大小, 最大精度38 位数)

日期和时间值:date、timestamp…、interval

二进制值(例如,多媒体:JPG、WAV 和MP3 等):
raw(可变大小, 最大2000 个字节);
blob(可变大小, 最大128 兆兆字节)

对于字符值,通常最好使用varchar2 或 clob,而不要使用char,因为这样可节省空间。

数值既可以是正数也可以是负数。例如,number(6,2) 可以存储从+9999.99 到–9999.99 之间的任何值。

timestamp 数据类型是DATE 数据类型的扩展,它允许存储小数形式的秒值。
如,timestamp(3) 允许在整秒后保留3 位数字。

TIMESTAMP WITH LOCAL TIME ZONE ...

三、修改表

添加列:
alter table student add (stu_id number(8));

更改列的数据类型、大小和默认值:
alter table student modify (stu_id number(7),name varchar2(15));

设置默认值:
如:alter table 员工 add (聘用日期 date default sysdate);

删除列:
alter table student drop column sex;

将列设置为不使用:(比“删除列”有好处)
alter table student set unused(sex);

删除当前已标记为“不使用”的所有列:
alter table student drop unused columns;


只有当列中仅包含 Null  值时,才能更改数据类型。

只有当列中仅包含 Null  值或者不更改大小时,才能将char 列转换为varchar2 或者将varchar2 列转换为char 。

更改列的默认值只会影响表的后续插入行。

不能删除表的所有列;至少要保留一列。

一旦删除了列,将无法恢复其数据值。

一旦将列设置为“不使用”,则不能访问此列,也不能用DESCRIBE 语句显示其数据。永久删除,不能回退。


删除表:
drop table student_bak;

闪回表:(将删除的表从回收站中恢复)
flashback table student_bak to before drop;

只需查询数据字典视图 USER_RECYCLEBIN,即可知道有哪些对象可以恢复:
select 原始名称,操作,删除时间 from user_recyclebin;

更改表名称:
rename student_bak to student_backup;

截断表操作:(从表中删除所有行并释放该表所占用的存储空间)
truncate table student_bak;
(不能回退行删除操作。)

delete 语句也可以从表中删除行,但不释放存储空间。

comment on table ...(可为列、表或视图添加最多2000个字符的注释)

闪回查询 ...(查看数据在更改之前的状态)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值