数据库操作与PL/SQL语法学习笔记
需积分: 9 71 浏览量
更新于2024-09-13
收藏 29KB TXT 举报
"这篇文档是关于数据库学习的笔记,涵盖了SQL SERVER和ORACLE数据库的基础知识,包括权限管理、PL/SQL编程以及DML操作。"
在数据库领域,SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。文档中提到了SQL的一些基本操作,如权限管理、数据查询、数据插入、更新和删除。
1. 权限管理:
- `REVOKE SELECT ON scott.emp FROM scott;` 这条语句是撤销用户scott对scott.emp表的SELECT权限。
- `GRANT EXECUTE ON p_test TO scott;` 这行代码则是授予scott执行名为p_test存储过程的权限。
2. PL/SQL编程:
- PL/SQL是Oracle数据库中的过程式语言,用于编写数据库块。示例展示了声明记录类型(emp_record_type),并定义了一个记录变量(emp_record)来存储查询结果。
- `DECLARE` 开始一个PL/SQL块,`TYPE`用于定义自定义数据类型,如emp_record_type,它包含emp表中的ename、sal和job字段。
- `BEGIN...END;` 包含了SQL查询和输出,通过`DBMS_OUTPUT.PUT_LINE`将结果打印到控制台。
3. DML(Data Manipulation Language)操作:
- `INSERT INTO emp(hiredate) VALUES(TO_DATE('1980-10-2', 'yyyy-mm-dd'));` 插入一条新的雇员记录,设置hiredate为指定日期。
- `INSERT INTO emp SELECT * FROM emp1;` 复制emp1表的所有记录到emp表。
- `UPDATE emp SET sal=sal*1.1, comm=comm*1.1 WHERE deptno=20;` 更新部门编号为20的员工薪水和佣金,增加10%。
- `UPDATE emp SET (job, sal, comm) = (SELECT job, sal, comm FROM emp WHERE ename='SMITIH') WHERE ename='SCOTT';` 将SCOTT的职位、薪水和佣金设置为与SMITIH相同的值。
- `DELETE FROM emp WHERE ename LIKE '__a%';` 删除名字以'a'开头且第二个字符为空格的员工记录。
- `TRUNCATE TABLE emp;` 清空emp表的所有数据,但不记录在事务日志中,比DELETE更快。
4. 数据分析:
- 使用`GROUP BY`进行分组统计,`ROLLUP`和`CUBE`提供了更复杂的分组选项。`GROUP BY ROLLUP(deptno, job)`生成所有可能的deptno和job的子集,包括总的汇总。`GROUP BY CUBE(deptno, job)`则包含所有可能的子集和单个汇总。
- `AVG(sal)`计算平均薪水,`ROUND(avg(sal), 2)`将平均薪水四舍五入到两位小数。
这些笔记内容对于初学者来说非常有用,涵盖了数据库基础操作的各个方面,是理解SQL和PL/SQL编程的良好起点。在实际工作中,掌握这些技能可以有效地管理数据库,执行查询,以及进行数据维护和分析。
2015-10-11 上传
2021-02-16 上传
2011-03-17 上传
2015-08-12 上传
2014-07-12 上传
2012-03-28 上传
2015-04-23 上传
canyuewp
- 粉丝: 0
- 资源: 1
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程