Oracle数据库操作:创建、修改与删除表及约束
19 浏览量
更新于2024-09-03
收藏 105KB PDF 举报
"Oracle学习笔记(三),主要涵盖了创建和管理表、修改表、删除表以及添加约束等核心概念。"
在Oracle数据库管理中,理解和掌握这些基本操作是至关重要的。让我们逐一深入探讨:
1. 创建和管理表:
- 创建表是数据库设计的基础。语法如下:
```sql
CREATE TABLE 表名 (列名 数据类型 [DEFAULT 默认值] [, 列名 数据类型]);
```
- 例如,创建一个包含id和name的员工表:
```sql
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50));
```
- 通过子查询创建表允许我们基于现有表的数据来创建新表:
```sql
CREATE TABLE new_table AS SELECT * FROM old_table;
```
2. 修改表:
- 添加新列:如果需要在已有的表中增加字段,可以使用`ALTER TABLE`语句:
```sql
ALTER TABLE table_name ADD (column_name 数据类型 [DEFAULT 默认值]);
```
- 修改列:若需更改列的属性,如类型或默认值,使用`MODIFY`:
```sql
ALTER TABLE table_name MODIFY (column_name 新的数据类型 [DEFAULT 新的默认值]);
```
- 删除列:若不再需要某个列,可使用`DROP COLUMN`:
```sql
ALTER TABLE table_name DROP COLUMN column_name;
```
3. 删除表:
- `DROP TABLE`命令用于永久性地删除表,一旦执行,无法通过回滚操作恢复:
```sql
DROP TABLE table_name;
```
- `RENAME`命令可以更改表的名称:
```sql
RENAME table_name TO new_table_name;
```
- 清空表有两种方式:`DELETE`和`TRUNCATE`。`DELETE`会记录操作,可回滚,而`TRUNCATE`不记录,速度快但不可回滚。
4. 添加约束:
- 约束用于确保数据的完整性和一致性。例如:
- `UNIQUE`约束确保列中的值是唯一的:
```sql
ALTER TABLE table_name ADD CONSTRAINT un_key_1 UNIQUE (column1);
```
- `CHECK`约束限制列值的范围:
```sql
ALTER TABLE table_name ADD CONSTRAINT ch_1 CHECK (column1 LIKE 'k%');
```
- `PRIMARY KEY`约束定义主键,确保数据的唯一性和标识性:
```sql
ALTER TABLE table_name1 ADD CONSTRAINT pk_1 PRIMARY KEY (column1);
```
- `FOREIGN KEY`约束定义外键,实现表之间的关联:
```sql
ALTER TABLE table_name2 ADD CONSTRAINT fk_1 FOREIGN KEY (ref_column) REFERENCES parent_table(parent_column);
```
以上就是Oracle数据库关于创建和管理表、修改表、删除表以及添加约束的基本操作。理解并熟练应用这些命令,将有助于我们在数据库管理中进行有效且精确的数据操作。在实践中,还需要结合实际需求灵活运用,同时考虑性能和数据安全性。
2018-11-14 上传
2018-01-30 上传
2010-05-13 上传
2023-08-11 上传
2023-08-18 上传
2024-02-07 上传
2023-08-02 上传
2023-07-15 上传
2023-06-03 上传
weixin_38691703
- 粉丝: 2
- 资源: 961
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器