zoukankan      html  css  js  c++  java
  • Oracle权限以及基本操作

      1 -- 创建用户
      2 create user wzh identified by orcl;
      3 
      4 --创建表
      5 --学生表
      6 create table student (
      7    xh number(4), --学号
      8    xm varchar2(20), --姓名
      9    sex char(2), --性别
     10    birthday date, --出生日期
     11    sal number(7,2) --奖学金
     12 );
     13 
     14 -- 添加主键
     15 alter table student add  constraint pk_student primary key (xh);
     16 --班级表
     17 create table classStu(
     18   classid number(2),
     19   cname varchar2(40)
     20 );
     21 
     22 
     23 --修改表
     24 --添加一个字段
     25 alter table student add (classid number(2));
     26 --修改一个字段的长度
     27 alter table student modify (xm varchar2(30));
     28 --修改字段的类型或是名字(不能有数据) 不建议做
     29 alter table student modify (xm char(30));
     30 --删除一个字段 不建议做(删了之后,顺序就变了。加就没问题,应该是加在后面)
     31 alter table student drop column sal;
     32 --修改表的名字 很少有这种需求
     33 rename stu to student;         
     34 --删除表
     35 drop table student;
     36 --修改日期的默认格式(临时修改,数据库重启后仍为默认;如要修改需要修改注册表)
     37 alter session set nls_date_format ='yyyy-mm-dd';
     38 
     39 --删除数据
     40 delete from student; --删除所有记录,表结构还在,写日志,可以恢复的,速度慢。
     41 --delete的数据可以恢复。
     42 savepoint student; --创建保存点
     43 delete from student;
     44 rollback to a; --恢复到保存点
     45 一个有经验的dba,在确保完成无误的情况下要定期创建还原点。
     46 
     47 drop table student; --删除表的结构和数据;
     48 delete from student where xh = 'a001'; --删除一条记录;
     49 truncate table student; --删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
     50 
     51 /**
     52 * oracle 事务
     53 *事务的几个重要操作
     54 *1.设置保存点 savepoint a
     55 *2.取消部分事务 rollback to a
     56 *3.取消全部事务 rollback
     57 */
     58 savepoint a; --创建保存点a
     59 Savepoint created
     60 delete from student where xh=1
     61 savepoint b; --创建保存到b
     62 Savepoint created
     63 
     64 rollback to a; --通过保持点来恢复这条记录;delete from student where xh=1
     65 
     66 
     67 /**
     68 一、字符函数
     69 字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:
     70 lower(char):将字符串转化为小写的格式。
     71 upper(char):将字符串转化为大写的格式。
     72 length(char):返回字符串的长度。
     73 substr(char, m, n):截取字符串的子串,n代表取n个字符的意思,不是代表取到第n个
     74 replace(char1, search_string, replace_string)
     75 instr(C1,C2,I,J) -->判断某字符或字符串是否存在,存在返回出现的位置的索引,否则返回小于1;在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
     76 C1 被搜索的字符串
     77 C2 希望搜索的字符串
     78 I 搜索的开始位置,默认为1
     79 J 出现的位置,默认为1
     80 二、数学函数
     81 数学函数的输入参数和返回值的数据类型都是数字类型的。数学函数包括cos,cosh,exp,ln, log,sin,sinh,sqrt,tan,tanh,acos,asin,atan,round等
     82 我们讲最常用的:
     83 round(n,[m]) 该函数用于执行四舍五入,
     84 如果省掉m,则四舍五入到整数。
     85 如果m是正数,则四舍五入到小数点的m位后。
     86 如果m是负数,则四舍五入到小数点的m位前。
     87 */
     88 SELECT round(23.75123) FROM dual; --返回24
     89 
     90 SELECT round(23.75123, -1) FROM dual; --返回20
     91 
     92 SELECT round(27.75123, -1) FROM dual; --返回30
     93 
     94 SELECT round(23.75123, -3) FROM dual; --返回0
     95 
     96 SELECT round(23.75123, 1) FROM dual; --返回23.8
     97 
     98 SELECT round(23.75123, 2) FROM dual; --返回23.75
     99 
    100 SELECT round(23.75123, 3) FROM dual; --返回23.751
    101 
    102 trunc(n,[m]) --该函数用于截取数字。如果省掉m,就截去小数部分,如果m是正数就截取到小数点的m位后,如果m是负数,则截取到小数点的前m位。
    103 
    104 
    105 --查看角色
    106 select * from dba_role_privs where grantee='SYSTEM';
    107 
    108 --查询orale中所有的系统权限,一般是dba
    109 select * from system_privilege_map order by name;
    110 --查询oracle中所有对象权限,一般是dba
    111 select distinct privilege from dba_tab_privs;
    112 --查询oracle 中所有的角色,一般是dba
    113 select * from dba_roles;
    114 --查询数据库的表空间
    115 select tablespace_name from dba_tablespaces;
    116 
    117 --一个角色包含的系统权限
    118 select * from dba_sys_privs where grantee='角色名'
    119 select * from role_sys_privs where role='角色名'
    120 --一个角色包含的对象权限
    121 select * from dba_tab_privs where grantee='DBA'
    122 --oracle究竟有多少种角色
    123 select * from dba_roles;
    124 --查看某个用户,具有什么样的角色
    125 select * from dba_role_privs where grantee='SYSTEM'
    126 --显示当前用户可以访问的所有数据字典视图。
    127 select * from dict where comments like '%grant%';
    128 --显示当前数据库的全称
    129 select * from global_name;
    130 
    131 --1.创建两个用户ken,tom。初始阶段他们没有任何权限,如果登录就会给出错误的信息。
    132 create user ken identified by ken;
    133 --2 给用户ken授权
    134  grant create session, create table to ken with admin option;
    135  grant create view to ken;
    136 --3 给用户tom授权
    137 --我们可以通过ken给tom授权,因为with admin option是加上的。当然也可以通过dba给tom授权,我们就用ken给tom授权:
    138  grant create session, create table to tom;
    139 grant create view to ken; --ok 吗?不ok
  • 相关阅读:
    PyQT_Group
    单例模式演示-1-39-07
    RSqlBuilder
    RExcel
    RJson
    NodeJs开发目录
    NodeJs事件驱动
    NodeJs实用工具util
    NodeJs之global,process
    NodeJs两个简单调试技巧
  • 原文地址:https://www.cnblogs.com/2070393244com/p/13138675.html
Copyright © 2011-2022 走看看