数据库迁移
对于数据库迁移来说,如果源数据库与目标数据库版本一致,推荐使用Oracle导入或者pl/sql导入;如果版本不一致,则可以使用sql导入的方式。
创建表空间
create tablespace test datafile 'E:\Database\data\test_data.dbf' size 20M autoextend on next 5M maxsize 500M
test为表空间名称;datafile ‘E:\Database\data\test_data.dbf’指定表空间的物理文件;size 20M 指定物理文件的大小,autoextend指定当数据量超出物理文件的存储空间时,自动增加文件的大小;而 on next 5M 则指定每次增长的尺寸是5M;maxsize 500M指定表空间的最大尺寸是500M
修改数据库的默认表空间
alter database default tablespace test
默认表空间修改为test
表空间的重命名
alter tablespace test rename to test_data
表空间重命名为test_data
删除表空间
删除表空间时,必须保证此表空间不再被其他用户引用
drop tablespace test_data including contents and datafiles
删除名字是test_data的表空间
创建数据表
create table student
(
studentID Number not null,
studentName varchar2(20),
studentAge number,
status varchar2(3),
version number default 0
)
tablespace users
tablespace users表示将表创建于表空间users中
通过视图user_tables可以获得当前用户所拥有的表信息,如查看student的表空间信息
select table_name ,tablespace_name from user_tables where lower(table_name)='student'
查看表结构(在命令窗口中运行,语句结束必须加;号,按回车键执行。)
desc student;
给数据表增加列
alter table student add(class_id number);
一次性增加多个列,其中用逗号分割
修改某列的数据类型
alter table student modify(calss_id varchar2(20))
删除已有列
alter table student drop column class_id
重命名列
alter table student rename column studentID to id
转移表空间
alter table student move tablespace users
删除数据表
drop table studrnt
有时由于约束存在,无法删除。应执行
drop table student cascade constraints
特殊的数据表dual
dual实际属于系统用户sys,具有数据库基本权限的用户都可以访问。
dual提供了一行一列的数据格式,从而使各种表达式、函数运算在以其为数据源时更够输出单行单列的形式
select sysdate from dual
获得当前日期
select 5*4.5+7 result from dual