Oracle数据库基础操作:建表与约束
需积分: 1 88 浏览量
更新于2024-09-14
收藏 56KB DOC 举报
"Oracle数据库的基本建表语句和相关操作"
在Oracle数据库中,建表是数据管理的基础操作。以下是一些关于Oracle基本建表语句及其相关操作的知识点:
1. 创建用户:
创建用户是设置数据库权限的第一步。`CREATE USER`语句用于创建新的数据库用户。例如:
```sql
CREATE USER han IDENTIFIED BY hand DEFAULT TABLESPACE users Temporary TABLESPACE Temp;
```
这里创建了一个名为"han"的用户,密码为"hand",默认表空间为"users",临时表空间为"Temp"。
2. 授权:
使用`GRANT`语句向用户授予权限。例如:
```sql
GRANT connect, resource, dba TO han; // 授予han连接、资源和DBA权限
```
这将给予用户han连接数据库、使用资源以及数据库管理员的权限。
3. 创建表:
`CREATE TABLE`语句用于创建新的表。例如:
```sql
CREATE TABLE T_STU (
STU_ID CHAR(5) NOT NULL,
STU_NAME VARCHAR2(8) NOT NULL
);
```
这将创建一个名为"T_STU"的表,包含两个字段:STU_ID(5个字符长,不允许为空)和STU_NAME(8个字符长,也不允许为空)。
4. 添加主键:
主键用于唯一标识表中的每一行。可以使用`ALTER TABLE`和`ADD CONSTRAINT`来添加主键,如:
```sql
ALTER TABLE T_STU ADD CONSTRAINT PK_T_STU PRIMARY KEY (STU_ID);
```
这将为"T_STU"表的STU_ID字段添加一个名为"PK_T_STU"的主键约束。
5. 添加外键:
外键用于建立表之间的关联。同样通过`ALTER TABLE`和`ADD CONSTRAINT`添加,如:
```sql
ALTER TABLE T_SCORE
ADD CONSTRAINT FK_T_SCORE_REFE FOREIGN KEY (STU_ID) REFERENCES T_STU(STU_ID);
```
这会创建一个外键约束"FK_T_SCORE_REFE",使得"T_SCORE"表中的STU_ID字段引用"T_STU"表的STU_ID字段。
6. 同时创建主键和外键:
可以在创建表时直接指定主键和外键,如下所示:
```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)
);
```
7. 查询表:
使用`SELECT`语句查询表中的数据,如:
```sql
SELECT * FROM classes;
```
这会返回"classes"表中的所有记录。
8. 删除表:
`DROP TABLE`语句用于删除表,例如:
```sql
DROP TABLE students;
```
将删除名为"students"的表。
9. 重命名表:
使用`RENAME`命令可以更改表的名称:
```sql
RENAME a_list_table_copy TO a_list_table;
```
这将把"a_list_table_copy"表重命名为"a_list_table"。
10. 显示表结构:
`DESCRIBE`或`DESC`命令用来查看表的结构,但注意,如果表不存在,可能会提示未找到。例如:
```sql
DESC test;
```
如果"test"表存在,它会显示出表的字段名、数据类型等信息。
以上就是Oracle数据库中关于基本建表语句和相关操作的详细说明。这些操作构成了数据库管理的基础,是数据库设计和数据管理不可或缺的部分。在实际应用中,还需要结合具体业务需求进行更复杂的建表和字段设计,以满足数据存储和查询的效率与安全性。
2010-12-04 上传
2013-02-02 上传
2013-07-20 上传
2013-10-22 上传
2011-09-20 上传
2023-08-29 上传
2012-01-07 上传
zhhwzhhw44
- 粉丝: 0
- 资源: 1
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍