数据表管理

1.常用数据类型

number:数字

varchar2:字符串(200字以内)

date:日期时间

clob:大文本(4G)

blob:二进制大数据(电影,图片),少用

2.创建数据表

create table member(

    mid            number    not null,

    name         varchar2(30),

    age            number(3),

    birthday     date     dedault sysdate,

    note           clob

)

desc tablename:查看表结构

3.表的复制

(1)、包含表结构的数据

create table emp as select * from tablename1 where col1 = ******

(2)\只创建表结构,用一个永远不可能的条件

create table tmp as select * from tablenam1 where 1=2;  

(3). 只复制表数据:

如果两个表结构一样:

insert into table_name_new select * from table_name_old

如果两个表结构不一样:

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old

4.删除数据表

(1)、删除整张表,包括表结构

drop table tablename

从oracle 10g中删除一张表后会出现一些残留,以BIN开头,增加了一个回收站的功能(称为闪回技术FLASHBACK)。

(2)、查看回收站内容

select * from user_recyclebin

(3)通过回收站恢复表

flashback table table_name to before_drop

(4)不经过回收站直接删除表

drop table table_name purge

(5)回收站删除表

pugre table table_name

(6)清空回收站

pugre recyclebin

5.、修改表结构

(1)增加字段,没有默认值,都是null

alter table member add (eamil VARCHAR2(20) )

(2)有默认值

alter table member add (sex VARCHAR2(20)  DEFAULT '男')

ps:由于增加一个有默认值的字段,所有的数据都会被更新,对于表中已经存在了许多数据情况,不建议使用默认值。

(3)修改已有的字段

alter table member modify (name varchar2(30) default '有名人')

(4)删除一列

alter table member drop column sex

总结:实际上针对数据表的操作它本身是属于DLL(Data Definition Language,数据库模式定义语言))定义范畴,而这个语言实际上只有三种语法

(1)创建对象:CREATE 对象类型 名称  ......

(2)删除对象:DROP 对象类型  名称  ......

(3)修改对象:ALTER 对象类型 名称  ......

ps:(1)其实实际开发过程并不建议修改表结构,如果开始表没设计好,及时删掉重来。

      (2)实际中删除是一件危险的事情,所有的数据尽量都不要删除,数据删除有两种形式

      ~物理删除:直接用delete语句

      ~逻辑删除:设置一个逻辑的标记,如果标记为0表示删除,1表示是可以使用的数据,例如加一个字段flag,则每条数据都有了标记。

猜你喜欢

转载自blog.csdn.net/feiyang5260/article/details/81070853