Oracle数据库建表语句详解

需积分: 1 2 下载量 119 浏览量 更新于2024-09-13 收藏 56KB DOC 举报
"Oracle_基本建表语句" 在Oracle数据库管理系统中,创建和管理数据库对象是日常操作的重要部分。本资源主要介绍了如何使用SQL语句来创建、修改和管理Oracle数据库中的表,以及与之相关的主键和外键概念。 首先,创建用户是建立数据库权限体系的第一步。例如,可以使用`CREATE USER`语句创建一个名为han的用户,为其设置密码,并指定默认的表空间和临时表空间: ```sql CREATE USER han IDENTIFIED BY handEFAULT TABLESPACE users Temporary TABLESPACE Temp; ``` 接着,为了使han用户能够进行数据库操作,我们需要给他授予相应的权限,如`CONNECT`(连接权限)、`RESOURCE`(资源权限)和`DBA`(数据库管理员权限): ```sql GRANT connect, resource, dba TO han; ``` 创建表是数据库设计的核心部分。基本的`CREATE TABLE`语句如下: ```sql CREATE TABLE 表名 ( 字段名1 字段类型(长度) 是否为空, 字段名2 字段类型 是否为空 ); ``` 例如,创建一个包含学生信息的表`T_STU`: ```sql CREATE TABLE T_STU ( STU_ID char(5) NOT NULL, STU_NAME varchar2(8) NOT NULL ); ``` 主键用于唯一标识表中的每一行记录,可以通过`ALTER TABLE`添加主键约束: ```sql ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY (字段名1); ``` 在创建`T_STU`时,可以同时指定主键: ```sql CREATE TABLE T_STU ( STU_ID char(5) NOT NULL, STU_NAME varchar2(8) NOT NULL, CONSTRAINT PK_T_STU PRIMARY KEY (STU_ID) ); ``` 外键则用于建立两个表之间的关联,它引用另一个表的主键。添加外键约束同样使用`ALTER TABLE`: ```sql ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (字段名1) REFERENCES 关联表(字段名2); ``` 例如,创建一个`T_SCORE`表,其中`STU_ID`是外键,关联`T_STU`表: ```sql CREATE TABLE T_SCORE ( AUTOID number(10) NOT NULL PRIMARY KEY, EXAM_SCORE number(5,2), EXAM_DATE date, STU_ID char(5), SUB_ID char(3), CONSTRAINT FK_T_SCORE_REFE FOREIGN KEY (STU_ID) REFERENCES T_STU(STU_ID) ); ``` 其他常见的表操作包括: - 查询表:`SELECT * FROM 表名;` - 删除表:`DROP TABLE 表名;` - 修改表名:`RENAME old_table_name TO new_table_name;` - 显示表结构:`DESCRIBE 表名;`(注意,如果表不存在,`DESCRIBE`命令可能不会返回结果) 对于字段的操作,可以进行添加、删除或修改字段的类型和属性,这通常涉及到`ALTER TABLE`语句的更复杂用法,例如添加新字段、更改字段类型或删除字段等。 以上就是Oracle数据库中创建和管理表的基本知识,包括创建用户、赋予权限、创建表、定义主键和外键,以及进行查询、删除、重命名和查看表结构等操作。这些基础操作构成了数据库管理和开发的基础。