Oracle数据库创建表与数据操作

需积分: 3 3 下载量 76 浏览量 更新于2024-08-02 收藏 143KB DOC 举报
"Oracle数据库创建表空间和数据表的示例代码" 在Oracle数据库管理中,表空间(Tablespaces)是存储数据库对象如表、索引等的地方。这段代码展示了如何创建一个名为`cypts`的表空间以及如何在该表空间中创建一个名为`xs`的学生情况表,并进行数据插入。 首先,我们来看创建表空间的部分: ```sql CREATE TABLESPACE cypts LOGGING DATAFILE 'd:\oracle\oradata\cypdb\cypts.ora' SIZE 10M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; ``` 这段SQL语句创建了一个名为`cypts`的表空间,其中: - `LOGGING` 表示表空间的数据将被记录在redo log中,以确保事务的可恢复性。 - `DATAFILE` 指定了表空间的数据文件路径和大小,这里设置为10MB。 - `EXTENT MANAGEMENT LOCAL` 表示使用本地段管理,允许Oracle自动管理表空间中的数据块分配。 - `SEGMENT SPACE MANAGEMENT AUTO` 设置了自动段空间管理,让Oracle自动处理表和索引的空间分配和重用。 接着,创建`xs`学生情况表: ```sql CREATE TABLE xs (xh CHAR(6) NOT NULL, xm CHAR(8) NOT NULL, xb CHAR(2) NULL, zym CHAR(10) NULL, cssj DATE NULL, zxf NUMBER(2) NULL, bz VARCHAR2(50) NULL) TABLESPACE cypts; ``` 这个语句定义了一个名为`xs`的表,包含了以下字段: - `xh`:学号,长度为6,非空。 - `xm`:姓名,长度为8,非空。 - `xb`:性别,长度为2,可以为空。 - `zym`:专业名,长度为10,可以为空。 - `cssj`:入学时间,日期类型,可以为空。 - `zxf`:学费,数值类型,长度为2,可以为空。 - `bz`:备注,VARCHAR2类型,最大长度50,可以为空。 `TABLESPACE cypts`指定了这个表将存储在`cypts`表空间中。 然后,代码插入了一些学生记录到`xs`表中: ```sql BEGIN INSERT INTO xs(xh, xm, xb) VALUES ('001102', '王平', '女'); -- ... END; ``` 这部分展示了如何使用PL/SQL的`BEGIN-END`块来执行一系列的INSERT语句,为`xs`表添加学生记录。 最后,创建了另一个表`kc`的起始部分,用于课程情况: ```sql CREATE TABLE kc (kch CHAR(3) NOT NULL, kcm CHAR(16) NOT NULL, ... ``` 这个`kc`表包含了课程号(`kch`)和课程名(`kcm`),都是非空字段。但代码没有完成此表的所有列定义。 这段代码涵盖了Oracle数据库中创建表空间、数据表以及插入数据的基础操作,展示了如何管理和操作Oracle数据库中的数据结构。