数据定义和事务控制语言.ppt_第1页
数据定义和事务控制语言.ppt_第2页
数据定义和事务控制语言.ppt_第3页
数据定义和事务控制语言.ppt_第4页
数据定义和事务控制语言.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库 数据定义和事务控制语言 9 主讲教师 wnt2000 C copyright 2 SQLStatements wnt2000 C copyright 3 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 4 AlterTable 作用 添加一个新列修改一个现有的列删除一个现有的列 wnt2000 C copyright 5 AlterTable 语法 wnt2000 C copyright 6 AlterTable 添加新列 DEPT80 ALTERTABLEDEPT80ADD JOB IDNUMBER Tablealtered DEPT80 新列使用NULL值填充 新列添加到表的结尾处 表可以为空也可以包含数据 只有当表为空时 才可将列定义为NOTNULL wnt2000 C copyright 7 AlterTable 修改已有列 无法更改列名称 随时都可以将列从NOTNULL更改为NULL 若要更改列的数据类型 则所有列值都必须是NULL 若要减小 则所有列值都必须是NULL ALTERTABLEdept80MODIFY last nameVARCHAR2 30 wnt2000 C copyright 8 AlterTable 删除已有列 示例ALTERTABLEdept80DROPCOLUMNjob id wnt2000 C copyright 9 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 10 Rename 示例RENAMEempTOmyEmp 源表名 目标表名 wnt2000 C copyright 11 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 12 DropTable 示例DROPTABLEemployee wnt2000 C copyright 13 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 14 TruncateTable 示例TRUNCATETABLEemployee 是最有效率的去除表中所有记录的方法 不能用Rollback撤销TruncateTable命令 释放表中记录所占用的空间 移除表中的所有行 wnt2000 C copyright 15 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 16 Constraint 可以在表中放置下列约束以确保数据完整性PRIMARYKEYFOREIGNKEYNOTNULLDEFAULTCHECKUNIQUE 主键 外键 禁止为空 设置默认值 检查数据合法性 设置唯一性 wnt2000 C copyright 17 Constraint 命名方式 CREATETABLEemp emp idNUMBER 6 first nameVARCHAR2 20 NOTNULL CREATETABLEemp emp idNUMBER 6 first nameVARCHAR2 20 CONSTRAINTemp first name nnNOTNULL 系统命名 用户命名 CREATETABLEemp emp idNUMBER 6 first nameVARCHAR2 20 CONSTRAINTemp first name nnNOTNULL first name 用户命名 wnt2000 C copyright 18 Constraint PRIMARYKEY 例 CREATETABLEdepartments department idNUMBER 4 department nameVARCHAR2 30 CONSTRAINTdept name nnNOTNULL manager idNUMBER 6 CONSTRAINTdept id pkPRIMARYKEY department id wnt2000 C copyright 19 Constraint PRIMARYKEY wnt2000 C copyright 20 Constraint FOREIGNKEY 例 CREATETABLEemployees employee idNUMBER 6 last nameVARCHAR2 25 NOTNULL hire dateDATENOTNULL department idNUMBER 4 CONSTRAINTemp dept fkFOREIGNKEY department id REFERENCESdepartments department id CONSTRAINTemp email ukUNIQUE email wnt2000 C copyright 21 Constraint FOREIGNKEY wnt2000 C copyright 22 ALTERTABLEbooksADDCONSTRAINTbooks name unqUNIQUE book name 将约束添加到表 可将约束添加到现有表使用ALTERTABLE语句示例 wnt2000 C copyright 23 禁用约束 可以临时禁用约束使用ALTERTABLE语句示例 ALTERTABLEbooksDISABLECONSTRAINTbooks name unq wnt2000 C copyright 24 启用约束 禁用约束后可对其重新启用使用ALTERTABLE语句示例 ALTERTABLEbooksENABLECONSTRAINTbooks name unq wnt2000 C copyright 25 删除约束 可临时删除约束使用ALTERTABLE语句示例可使用下列语句强制除去主键约束 ALTERTABLEbooksDROPCONSTRAINTbooks name unq ALTERTABLEbooksDROPPRIMARYKEYCASCADE wnt2000 C copyright 26 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 27 数据控制语言 DCL 通过给已授权用户分配权限和特权来提供对数据的保护可撤消已授予给用户的特权两个主要的命令GRANTREVOKE wnt2000 C copyright 28 数据控制语言 GRANT 允许将数据库对象上的某些特权授予其他用户可以授予的特权是Select Insert Update和DeleteWITHGRANTOPTION允许用户将数据库对象上的特权传递给其他用户GRANTALL用于将所有特权授予用户 GRANTprivilege privilege TOuser user wnt2000 C copyright 29 数据控制语言 GRANT 续 SQL GRANTcreatetable createsequence createview2TOscott Grantsucceeded wnt2000 C copyright 30 数据控制语言 REVOKE 允许收回已授予用户的特权可以撤消的特权是Select Insert Update和DeleteREVOKEALL用于撤消用户的所有特权 wnt2000 C copyright 31 数据控制语言 REVOKE 续 REVOKESELECT INSERT UPDATE DELETEONEMPFROMTEST REVOKEALLONEMPFROMTEST wnt2000 C copyright 32 控制用户访问 Databaseadministrator Users Usernameandpasswordprivileges wnt2000 C copyright 33 控制用户访问 权限 数据库安全 系统安全数据安全系统权限 控制对数据库的访问对象权限 操作数据库对象中的内容Schema Collectionofobjects suchastables views andsequences wnt2000 C copyright 34 控制用户访问 系统权限 80个以上的权限可供选择 DBA拥有高级别权限 CreatenewusersRemoveusersRemovetablesBackuptables wnt2000 C copyright 35 控制用户访问 创建用户 SQL CREATEUSERscott2IDENTIFIEDBYtiger Usercreated CREATEUSERuserIDENTIFIEDBYpassword wnt2000 C copyright 36 控制用户访问 什么是角色 Allocatingprivilegeswithoutarole Allocatingprivilegeswitharole Privileges Users Manager wnt2000 C copyright 37 控制用户访问 创建角色并授权 SQL CREATEROLEmanager Rolecreated SQL GRANTcreatetable createview2tomanager Grantsucceeded SQL GRANTmanagertoBLAKE CLARK Grantsucceeded wnt2000 C copyright 38 控制用户访问 修改用户密码 SQL ALTERUSERscott2IDENTIFIEDBYlion Useraltered wnt2000 C copyright 39 控制用户访问 对象权限 ObjectPrivilegeTableViewSequenceProcedureALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE wnt2000 C copyright 40 控制用户访问 对象权限 续 GRANTobject priv columns ONobjectTO user role PUBLIC WITHGRANTOPTION wnt2000 C copyright 41 控制用户访问 对象权限 续 SQL GRANTselect2ONemp3TOsue rich Grantsucceeded SQL GRANTupdate dname loc 2ONdept3TOscott manager Grantsucceeded wnt2000 C copyright 42 控制用户访问 对象权限 续 SQL GRANTselect insert2ONdept3TOscott4WITHGRANTOPTION Grantsucceeded SQL GRANTselect2ONalice dept3TOPUBLIC Grantsucceeded wnt2000 C copyright 43 控制用户访问 对象权限 续 REVOKE privilege privilege ALL ONobjectFROM user user role PUBLIC CASCADECONSTRAINTS wnt2000 C copyright 44 控制用户访问 对象权限 续 SQL REVOKEselect insert2ONdept3FROMscott Revokesucceeded SQL REVOKEall2ONdept3FROMscott Revokesucceeded wnt2000 C copyright 45 本章目标 更改表结构更改表名称删除表截断表使用表约束数据控制语言事务控制命令 wnt2000 C copyright 46 事务控制命令 事务是一个或多个SQL语句序列在程序更新数据库时事务至关重要 因为必须维护数据库的完整性三个事务控制命令COMMITSAVEPOINTROLLBACK wnt2000 C copyright 47 COMMIT 用于结束事务对数据库做永久性更改擦除事务中的所有保存点COMMIT语句表示所有SQL语句均已执行事务成功结束数据库处于一致状态 wnt2000 C copyright 48 COMMIT 续 示例INSERTINTOmemberVALUES M0719 TIMMY 1239876 COMMITWORK wnt2000 C copyright 49 SAVEPOINT 保存点 就像一个标记 用来将很长的事务划分为若干个较小的事务标识事务中的某个点以便将来可以回滚它与回滚一起使用以回滚当前事务部分 wnt2000 C copyright 50 SAVEPOINT 续 示例INSERTINTOmemberVALUES M0719 TIMMY 1239876 SAVEPOINTmem1 INSERTINTOmembe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论