查询数据字典
查看用户自定义的表
select table_name
from user_tables;
查看用户定义的各种数据库对象
select distinct object_type
from user_objects;
查看用户定义的表,视图,同义词和序列
select * from user_catalog;
创建表
第一种创建方式
create table emp1(
id number(5), --99999
name varchar2(10),
salary number(10,2),
hire_date date
)
select * from emp1;
第二种创建方式:基于已经存在的表
基于已经存在的表创建新的表
create table emp2
as
select employee_id,last_name,salary,hire_date
from employees;
--一方面基于已经存在的表创建新的表,并且列的数据类型与原表一致。另一方面原表中的数据可以同样的导入
select * from emp2;
基于已经存在的表创建一个空表
create table emp4
as
select employee_id,last_name,salary,hire_date
from employees
where 1 = 2;
实现对已有表的复制
create table emp6
as
select * from employees;
修改表
增加一个列
alter table emp1
add(email varchar2(20));
修改现有的列(存储值的范围,增加默认值)
alter table emp1
modify(id number(10));
alter table emp1
modify(salary number(10,2) default 2500);
重命名一个列
alter table emp1
rename column salary to sal;
删除一个现有的列
alter table emp1
drop column email;
清空表
truncate table emp2;--注意与delete的区别:truncate(DDL)操作不可以回滚。
delete from emp3;--DML的删除,是可以回滚的。
rollback;--DML的一个操作:回滚
重命名表
rename emp3 to empp3;
删除表
drop table emp1;
总结
语句 | 描述 |
---|---|
CREATE TABLE | 创建表 |
ALTER TABLE | 修改表结构 |
DROP TABLE | 删除表 |
RENAME TO | 重命名表 |
TRUNCATE TABLE | 删除表中的所有数据,并释放存储空间 |
以上这些DDL的命令,不可回滚