Oracle数据库——表的创建与管理

目录

常见数据类型

创建数据表

重命名数据表

截断表

复制表

表的删除

闪回技术

添加表的列

修改表的列

删除列


表属于数据库对象的操作,对于数据库的对象操作只有三种语法:

  • 创建对象:CREATE 对象类型 对象名称 ...;
  • 删除对象:DROP 对象类型 对象名称 ...;
  • 修改对象:ALTER  对象类型 对象名称 ...;

常见数据类型

类型 作用
VARCHAR2(n) 表示字符串,其中n表示最大长度较小的内容。(200字符内皆可)
NUMBER(N,M)

NUMBER(N):整数数据,最多不超过n个长度,可用IINT代替;

NUMBER(n,m):小数位占n-m个,可用FLOAT代替

DATE 保存日期时间数据
CLOB 大文本数据,最多4G的文字
BCLOB 二进制数据,最多4G的内容,可以是文字,图片,音乐,视频等

创建数据表

结构:CREAT TABLE 表名称(列名称 类型 [DEFAULT 默认值],列名称 类型 [DEFAULT 默认值],...列名称 类型 [DEFAULT 默认值]);

CREATE TABLE member(mid NUMBER,name VARCHAR2(50) DEFAULT '无名氏',age NUMBER(3),birthday DATE DEFAULT SYSDATE,note CLOB);

重命名数据表

RENAME member to person;

截断表

删除表若用DELETE FROM person;不能立刻释放所占资源(约束,索引)。  

若用截断表可立刻释放所有所占资源,但仅属于Oracle数据库所有,非标准sql语句

TRUNCATE TABLE person;

复制表

根据子查询获得数据创建表,并将子查询的数据保存到新的数据表;

CREATE TABLE PERSON1 AS SELECT * FROM person;

仅复制表结构,而不要数据内容

WHERE子句为假不满足任何条件,但表的结构依旧可用

CREATE TABLE pee AS SELECT * FROM emp WHERE 1=2;

表的删除

执行操作后放入回收站,SELECT * FROM tab;可查看,以BIN$开头;例如BIN$5wsugU2TQjGNYLi1jFEc5Q==$0

DROP TABLE pee;

强制删除,执行后不会出现在回收站

DROP TABLE pee PURGE;

清除回收站的一个表

PURGE TABLE pee;

清空回收站的表

PURGE RECYCLEBIN;

闪回技术

仅Oracle数据库有,不属于标准SQL语法

恢复DROP删除的数据表

若用PURGE强制删除,则无法闪回

 FLASHBACK TABLE pee TO BEFORE DROP;

添加表的列

结构:ALTER TABLE 表名称 ADD (列名称 类型 [DEFAULT 默认值],列名称 类型 [DEFAULT 默认值],...列名称 类型 [DEFAULT 默认值]);

ALTER TABLE person ADD (email VARCHAR(20));

修改表的列

结构:ALTER TABLE 表名称 MODIFY (列名称 类型 [DEFAULT 默认值],列名称 类型 [DEFAULT 默认值],...列名称 类型 [DEFAULT 默认值]);

ALTER TABLE person MODIFY(name VARCHAR(20));

删除列

格式:ALTER TABLE 表名称 DROP COLUMN 列名称;

ALTER TABLE person DROP COLUMN email;

猜你喜欢

转载自blog.csdn.net/qq_36230524/article/details/82831494