Oracle 通过dos命令来实现建库建表

1.-- 连接

conn hu/aaa;

-- 创建表空间

Create tablespace computer2005 nologging datafile 'd:/oracle/product/10.2.0/oradata/test/computer.dbf' size 50m blocksize 8192 extent management local uniform size 256k segment space management auto;

-- 创建学生基本信息表

create table student(学号 varchar2(20 byte) not null,

                          姓名 varchar2(8 byte),

                          性别 varchar2(4 byte),

                          民族 varchar2(8 byte),

constraint pk_stud primary key(学号) using index tablespace computer2005

pctfree 10 initrans 2 maxtrans 255);

-- 创建课程信息表

create table course(课程编号 varchar2(5 byte) not null,

                      课程类型 varchar2(6 byte),

                      课程名 varchar2(20 byte),

                      周学时 integer,

                      任课教师 varchar2(10 byte),

                      开设学期 integer,

                      考核方式 varchar2(4 byte),

constraint pk_cour primary key(课程编号) using index tablespace computer2005

pctfree 10 initrans 2 maxtrans 255);

-- 创建学生成绩表

create table score(学号 varchar2(20 byte) not null,

                      课程编号 varchar2(5 byte) not null,

                      成绩 number,

constraint pk_sc primary key(学号,课程编号)

using index tablespace computer2005 pctfree 10 initrans 2 maxtrans 255);

-- 添加外键

alter table score add constraint fk_stud_score foreign key(学号) references student(学号);

alter table score add constraint fk_cour_score foreign key(课程编号) references course(课程编号);

--移动表到工作表空间

alter table student move tablespace computer2005;

alter table course move tablespace computer2005;

alter table score move tablespace computer2005;

-- 使用SQL loader导入数据

host sqlldr hu/aaa control=d:/oracle/insert4.ctl log=d:/oracle/4.log

host sqlldr hu/aaa control=d:/oracle/insert5.ctl log=d:/oracle/5.log

host sqlldr hu/aaa control=d:/oracle/insert6.ctl log=d:/oracle/6.log

2.-- 创建用户

create user hu identified by aaa;

-- 赋予权限

grant dba,connect to hu with admin option;

-- 连接

conn hu/aaa;

-- 创建表空间

create tablespace student_app nologging datafile 'd:/oracle/product/10.2.0/oradata/test/student.dbf' size 50m blocksize 8192 extent management local uniform size 256k segment space management auto;

-- 创建学生基本信息表

create table 学生基本信息(学号 varchar2(20 byte) not null,

                          姓名 varchar2(8 byte),

                          性别 varchar2(4 byte),

                          民族 varchar2(8 byte),

constraint pk_baseinfo primary key(学号) using index tablespace student_app

pctfree 10 initrans 2 maxtrans 255);

-- 创建课程信息表

create table 课程信息(课程编号 varchar2(5 byte) not null,

                      课程类型 varchar2(6 byte),

                      课程名 varchar2(20 byte),

                      周学时 integer,

                      任课教师 varchar2(10 byte),

                      开设学期 integer,

                      考核方式 varchar2(4 byte),

constraint pk_course primary key(课程编号) using index tablespace student_app

pctfree 10 initrans 2 maxtrans 255);

-- 创建学生成绩表

create table 学生成绩(学号 varchar2(20 byte) not null,

                      课程编号 varchar2(5 byte) not null,

                      成绩 number,

constraint pk_grade primary key(学号,课程编号)

using index tablespace student_app pctfree 10 initrans 2 maxtrans 255);

-- 添加外键

alter table 学生成绩 add constraint fk_info_grade foreign key(学号) references 学生基本信息(学号);

alter table 学生成绩 add constraint fk_course_grade foreign key(课程编号) references 课程信息(课程编号);

--移动表到工作表空间

alter table 学生基本信息 move tablespace student_app;

alter table 课程信息 move tablespace student_app;

alter table 学生成绩 move tablespace student_app;

-- 使用SQL lpader导入数据

host sqlldr hu/aaa control=d:/oracle/insert1.ctl log=d:/oracle/1.log

host sqlldr hu/aaa control=d:/oracle/insert2.ctl log=d:/oracle/2.log

host sqlldr hu/aaa control=d:/oracle/insert3.ctl log=d:/oracle/3.log

Oracle建库建表的步骤如下: 1. 创建数据库 使用 Oracle SQL Developer 或 SQL Plus 工具,连接到 Oracle 数据库实例。在连接成功后,执行以下命令来创建新的数据库: ```sql CREATE DATABASE DATABASE_NAME ``` 2. 创建表空间 表空间是数据库逻辑存储单元,用于存储数据。在 Oracle 中,可以创建多个表空间,以便更好地管理和组织数据。使用以下命令创建表空间: ```sql CREATE TABLESPACE TABLESPACE_NAME DATAFILE 'file_name.dbf' SIZE size_in_mb ``` 其中,`file_name.dbf` 是表空间数据文件名,`size_in_mb` 是表空间大小,以 MB 为单位。 3. 创建用户 在 Oracle 中,每个用户都有自己的数据库对象,例如表、视图、索引等。因此,需要创建一个或多个用户来管理数据库对象。使用以下命令创建用户: ```sql CREATE USER USER_NAME IDENTIFIED BY PASSWORD DEFAULT TABLESPACE TABLESPACE_NAME QUOTA UNLIMITED ON TABLESPACE_NAME; ``` 其中,`USER_NAME` 是用户名称,`PASSWORD` 是用户密码,`TABLESPACE_NAME` 是用户默认表空间。 4. 授予权限 在 Oracle 中,用户需要授予相应的权限才能访问和操作数据库对象。使用以下命令为用户授予权限: ```sql GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW TO USER_NAME; ``` 其中,`USER_NAME` 是用户名称,`CREATE SESSION` 允许用户连接到数据库,`CREATE TABLE` 允许用户创建表,`CREATE VIEW` 允许用户创建视图。 5. 创建表 使用以下命令创建表: ```sql CREATE TABLE TABLE_NAME ( COLUMN_1 DATA_TYPE CONSTRAINT PK_TABLE_NAME PRIMARY KEY, COLUMN_2 DATA_TYPE, COLUMN_3 DATA_TYPE ); ``` 其中,`TABLE_NAME` 是表名,`COLUMN_1`、`COLUMN_2`、`COLUMN_3` 是表列名,`DATA_TYPE` 是列数据类型。`CONSTRAINT PK_TABLE_NAME PRIMARY KEY` 指定了主键。 以上是 Oracle 建库建表的基本步骤,可以根据实际需求进行更改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值