一、表是Oracle常见的数据库对象
Oracle中的表分为
①用户定义的表:
–由用户创建并维护的一组表
–包含用户所需的信息
②数据字典:
–由Oracle server 自动创建的一组表
–包含数据库信息
③查询数据字典
select table_name from user_tables; --查看用户定义表 select distinct object_type from user_objects; --查看用户定义的各种数据库对象 select * from user_catalog; --查看用户定义的表,视图,同意词和序列

二、创建表
语法:
create table 表名(
字段名 数据类型 约束(可无),
字段名 数据类型 约束(可无),
字段名 数据类型 约束(可无),
字段名 数据类型 约束(可无)
)
注意:
① 表名和列名:
必须以字母开头
必须在 1–30 个字符之间
必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
必须不能和用户定义的其他对象重名
必须不能是Oracle 的保留字
② 数据类型

创建表的两种方式
方法一 ------------创建新表-------------- CREATE TABLE dept ( deptno NUMBER(2), dname VARCHAR2(14), loc VARCHAR2(13) ); 方法二 ------------由旧表创建新表-------------
使用子查询创建(复制旧表,结构和数据一起复制)
CREATE TABLE dept2 AS select * from dept;
拓展:
CREATE TABLE dept2
AS
select deptno,dname
from dept
where dname = ‘chen‘;
注意:方法二 dept2 不仅表结构和dept一样,而且表中数据也一模一样
如果只想取dept2中部分数据和字段也可 select 部分字段 from 表 where 部分数据
三、修改已有表$$删除表
1.修改表:ALTER TABLE 语句
①追加新的列
ALTER TABLE table ADD ( 字段名 数据类型 约束, 字段名 数据类型 约束, ...... ); alter table dept add(sex varchar2(10) ) ---------------------------------- ②修改现有的列 (修改列的数据类型,长度、约束、默认值) ALTER TABLE table MODIFY ( 字段名 数据类型 约束, 字段名 数据类型 约束, ...... ); alter table dept modify (sex number(20) )
---------------------------------- ③为新追加的列定义默认值(default) alter table dept modify (sex number(20) default 100 )
注意 :对默认值的修改只影响今后对表的修改 ---------------------------------- ④删除一个列 ALTER TABLE table DROP COLUMN column_name; alter table dept drop COLUMN sex ---------------------------------- ⑤重命名表的一个列名 ALTER TABLE table_name RENAME COLUMM old_column_name TO new_column_name alter table dept rename column sex to id ----------------------------------
2.删除表 :DROP TABLE 语句
DROP TABLE dept(表名)
注意:
–数据和结构都被删除
–所有正在运行的相关事务被提交
–所有相关索引被删除
–DROP TABLE 语句不能回滚
3.清空表 TRUNCATE TABLE 语句:
TRUNCATE TABLE 语句: 删除表中所有的数据 释放表的存储空间 注意: TRUNCATE语句不能回滚 可以使用 DELETE 语句删除数据,可以回滚 对比: delete from emp; select * from emp; rollback; select * from emp;
4.改变表的名称
执行RENAME语句改变表, 视图, 序列, 或同义词的名称 RENAME dept TO detail_dept; 必须是对象的
总结
|
语句 |
描述 |
|
CREATE TABLE |
创建表 |
|
ALTER TABLE |
修改表结构 |
|
DROP TABLE |
删除表 |
|
RENAME TO |
重命名表 |
|
TRUNCATE TABLE |
删除表中的所有数据,并释放存储空间 |
以上这些DDL的命令操作后皆不可回滚!