Oracle数据库建表语句详解
需积分: 1 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数据库中创建和管理表的基本知识,包括创建用户、赋予权限、创建表、定义主键和外键,以及进行查询、删除、重命名和查看表结构等操作。这些基础操作构成了数据库管理和开发的基础。
2010-12-04 上传
2013-02-02 上传
2013-07-20 上传
2013-10-22 上传
2011-09-20 上传
2023-08-29 上传
2012-01-07 上传
wodexiaohui
- 粉丝: 0
- 资源: 1
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析