SQL与PL_SQL讲座.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL与PL_SQL讲座.ppt

第四章 修改数据与安全 一、 操纵数据概述 数据操纵和事务控制命令: INSERT——在表中增加一新行 UPDATE——修改表中现有行 DELETE——删除表中现有行 COMMIT——使所有临时的改变最终完成 SAVEPOINT——允许回滚到保存点 ROLLBACK——放弃所有临时改变 二、插入数据 1、插入新行语法: INSERT INTO table[(column[,column...])] VALUES(value[,value...]); 此语法一次只能插入一行 2、用空值插入新行 隐式方法:从列名表中省略列名 显式方法:在值列表中指定NULL关键字 3、插入特定的日期和时间值 TO_DATE函数:覆盖所插入日期和时间值的缺省设置 缺省值: 缺省的世纪为当前世纪 缺省的时间为午夜 4、从其它表复制行 使用子查询写INSERT命令 INSERT INTO table(...) subquery; INSERT子句中的列数应与子查询的列数相匹配 三、更新数据 1、UPDATE语法: UPDATE table SET column=value[,column=value...] [WHERE condition]; 2、更新时的完整性约束错误 四、删除数据 1、DELETE命令语法: DELETE [FROM] table [WHERE condition]; 2、删除时的完整性约束错误 如果要删除的行的主键是其它表的外键,则出现完整性约束错误 五、事务处理 1、数据库事务 与事务相关的语句: 一组DML命令 一条DDL命令 一条DCL命令 第一条可执行SQL命令执行时事务开始 以下列事件之一结束: COMMIT或ROLLBACK DDL或DCL命令执行(自动提交) 错误、退出或系统崩溃 2、事务控制的特点 确保数据的一致性 在改变最终确认之前,预览数据的变化 给相关的操作在逻辑上分组 3、隐式事务处理 下列情况会自动提交: 发出一条DDL命令,如CREATE 发出一条DCL命令,如GRANT 从SQL*Plus正常退出,而没有显式发出COMMIT或ROLLBACK 在SQL*Plus异常中断或系统崩溃时,自动回滚 4、COMMIT或ROLLBACK之前的数据状态 数据以前的状态可以恢复 当前用户可用SELECT语句查看DML操作的结果 其它用户不能查看当前用户的DML语句的结果 所影响的行被加锁,其它用户不能改变这些行中的数据 5、COMMIT之后的数据状态 数据改变被写到数据库中 以前的数据永远丢失 所有用户都可查看结果 所影响行的锁被释放;其它用户可对这些行操作 所有SAVEPOINT被清除 6、ROLLBACK之后数据的状态 数据改变被取消 以前的数据状态被恢复 所影响的行的锁被释放 7、回滚到保留点标记 使用SAVEPOINT命令在当前事务中创建标记 使用ROLLBACK TO SAVEPOINT命令回滚到标记点 六、管理用户 1、创建用户 由DBA创建用户 CREATE USER命令语法: CREATE USER user IDENTIFIED BY password; 2、授予用户权限 DBA可以授予用户特定的权限 语法: GRANT privilege[,privilege...] TO user[,user...]; 3、修改口令 创建用户时,可初始化口令 ALTER USER命令语法: ALTER USER user IDENTIFIED BY password; 4、角色 角色是可以授予用户的一个权限组 语法: CREATE ROLE role; 可将权限授予角色 七、权限 1、权限类型 系统权限: 获得对数据库的访问 对象权限: 操纵数据库对象的内容 模式: 对象的集合,如表、视图、序列 2、系统权限 一旦创建了用户,DBA就可以通过执行GRANT命令给用户授权 典型的用户有如下系统权限: CREATE SESSION CREATE TABLE CREATE SEQUENCE CREATE VIEW CREATE PROCEDURE 授权命令: GRANT system_priv,... TO user,...; 3、对象权限 可允许用户执行特定对象上的操作 对象权限因对象类型不同而不同 拥有者具有对象的所有权限 拥有者可授出其拥有对象的特定权限 GRANT object_priv[(column)]|ALL ON object TO {user|role|PUBLIC} [WITH GRANT OPTION]; WITH GRANT OPTION指定用户有

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档