欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库迁移、创建表空间、创建数据表实例讲解

程序员文章站 2022-07-07 22:31:44
数据库迁移 对于数据库迁移来说,如果源数据库与目标数据库版本一致,推荐使用Oracle导入或者pl/sql导入;如果版本不一致,则可以使用sql导入的方式。 创建表空间...

数据库迁移

对于数据库迁移来说,如果源数据库与目标数据库版本一致,推荐使用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