Oracle数据库操作实践:数据插入、更新与查询
需积分: 5 175 浏览量
更新于2024-08-03
收藏 222KB DOC 举报
"Oracle数据库中的数据操纵"
Oracle数据库是企业级关系型数据库管理系统,它提供了丰富的功能来管理和操纵数据。在本实验报告中,我们将重点探讨如何在Oracle中进行数据的插入、更新、删除以及各种查询操作。
一、数据操纵语言(DML)
1. 插入数据(INSERT)
在Oracle中,向数据表中插入数据是通过INSERT语句完成的。例如,向“供应商信息表”中插入一条记录,可以写作:
```sql
INSERT INTO 供应商信息表 (编码, 名称, 联系人, 地址, 电话)
VALUES (9, '新星科技', '李华', '广州市天河区', '020-1234567');
```
2. 更新数据(UPDATE)
使用UPDATE语句可以修改已存在的记录。如更新“货品信息表”中某商品的售价:
```sql
UPDATE 货品信息表
SET 售价/元 = 750
WHERE 编码 = 2;
```
3. 删除数据(DELETE)
DELETE语句用于从表中移除记录。例如,删除“销售人员信息表”中某个员工的信息:
```sql
DELETE FROM 销售人员信息表
WHERE 工号 = 6;
```
二、查询操作
1. 单表查询(SELECT)
简单的查询可以使用SELECT语句,如查询所有供应商的名称:
```sql
SELECT 名称
FROM 供应商信息表;
```
2. 应用函数(聚合与非聚合)
可以结合函数进行查询,如计算“货品信息表”的平均成本价:
```sql
SELECT AVG(成本价/元) AS 平均成本
FROM 货品信息表;
```
3. 连接查询(JOIN)
连接多个表进行查询,例如查找每个货品对应的供应商名称:
```sql
SELECT 货品信息表.名称, 供应商信息表.名称
FROM 货品信息表
JOIN 供应商信息表
ON 货品信息表.供应商编码 = 供应商信息表.编码;
```
4. 子查询(SUBQUERY)
子查询可以在查询中嵌套,如找出库存量最大的货品:
```sql
SELECT 名称
FROM 货品信息表
WHERE 库存量 = (SELECT MAX(库存量) FROM 货品信息表);
```
5. 合并查询(UNION)
合并不同查询的结果,例如显示所有部门的经理信息:
```sql
SELECT 工号, 姓名
FROM 部门信息表
WHERE 经理工号 IS NOT NULL
UNION
SELECT 工号, 姓名
FROM 销售人员信息表;
```
6. 正则表达式查询
使用正则表达式进行特殊字符匹配,比如查询所有以“华”开头的供应商名称:
```sql
SELECT 名称
FROM 供应商信息表
WHERE 名称 LIKE '华%';
```
三、表的创建与约束
在创建数据表时,应合理设计字段数据类型,并设置约束条件。如创建“供应商信息表”:
```sql
CREATE TABLE 供应商信息表 (
编码 NUMBER PRIMARY KEY,
名称 VARCHAR2(100),
联系人 VARCHAR2(50),
地址 VARCHAR2(200),
电话 VARCHAR2(20)
);
```
这里,编码设为主键,确保数据的唯一性;电话字段可能需添加长度限制等其他约束。
通过这些实验,可以深入理解Oracle数据库中数据的管理与操纵,为后续的数据库操作打下坚实基础。
2020-04-09 上传
2021-12-19 上传
2023-08-04 上传
2021-10-03 上传
2023-12-15 上传
2022-07-05 上传
2021-12-16 上传
2022-07-13 上传
嵌入式Dora
- 粉丝: 2w+
- 资源: 787
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构