1. create user beyond identified by beyond;创建用户 刚创建的用户没有任何权限,包括的登录 2. drop user beyond [cascade]: 是否级联删除 3. grant connect to beyond ;给beyond用户授予连接权限 4. grant resource to beyond: 授予创建的权限 5. grant select on emp to beyond:授于beyond select 权限 select * from system.emp; 6. 角色权限和自定义权限 7. 角色权限:connect, resource, dba 8. 自定义权限:select ,insert, delete,等 9. revoke all on emp from beyond: 收回beyond对emp 的所有权限 10. grant select on emp to beyond with grant option 如果是对象权限,可以把权限传递给其他人 11. grant connect to beyond with admin option 如果是系统权限,可以把权限传递给其他人 12. 当自己的权限被回收率,其传递给其他人的权限也被回收 13. create profile beyondLock limit failed_login_attempts 3 password_lock_time 2; alter user beyond profile beyondLock; 创建名为 beyondLock 的口令限制,输错3次密码,锁定2天 14. alter user beyond account unlock; 为beyond 用户解锁; 15. create profile beyondLimit limit password_life_time 10 password_grace_time 2; alter user beyond profile beyondLimit; 要求 beyond 每隔10天修改登录密码,宽限期为2天 16. create profile beyondLimit limit password_life_time 10 password_grace_time 2 password_reuse_time 10 .....新密码不能和老密码一样,10天后老密码可重新用 17. drop profile beyondLimit [cascade] 删除beyondLimit【级联】 18. Oracle 必须启动的服务: OracleOraHome90TNSListener java连接oracle的服务名; OracleServiceXX这个服务也必须启动; 19. char好处: 查询极快 20. blob 存大数据Max(4G)用途:对机密的大数据存 21. 表修改: 添加一个字段: alter table student add(classId number(2)); 修改字段的字段: alter table student modify(xm varchar2(30)); 22. Oracle 默认的日期格式为: 日-月-年,如果不进行日期转换的话,那么,插入日期的格式为(‘12-12月-2013’) 23. 修改 Oracle 默认的日期格式: alter session set nls_date_format='YYYY-MM-DD'; 即:修改日期的默认格式为: 2012-12-12 这种格式了 24. 设置保存点: savepoint aa; 回复保存点: rollback to aa; 25. Oracle 分页有三种: insert into student select * from student; select ROWNUM,t.* from student t where rownum <5; select count(*) from student;--786432条, --查 78000~78030 速度由快到慢:1-2-3-4 --1.按rownum 来分 select * --0.094S from (select rownum as rn , st.* from (select * from student) st where rownum <78030) t where rn > 78000; --2.按rownum 来分 select * --0.343S from (select rownum as rn, st.* from (select * from student) st) where rn between 78000 and 78030; --3 按rowid来分 select * --0.359S from student where rowid in (select rid from (select rownum rn, rid from (select rowid rid, classid from student order by classid) where rownum < 78030) where rn > 78000) order by classid; --4 按分析函数来分 select * -- 0.624S from (select t.*, row_number() over(order by classid) rk from student t) where rk < 78030 and rk > 78000; 26. 建立保存点: savepoint one 后可以做任何非提交的操作, savepoint two 后可以做任何非提交的操作, 回滚到保存点:可以用 rollback to one/two 回滚到one 或者two 保存点 提交保存点: commit 提交保存点 27. 直接执行 .sql 文件: start D:\Oracle_SQL\first.sql 28. set transaction read only :设置只读事务 只读事务是指:只允许执行查询的操作,而不允许执行任何其他DML(增、删、改)操作的事务,使用只读事务可以确保用户只能取得某时间点的数据。 29. lower(char):将字符串转换为小写的格式 upper(char):将字符串转换为大写的格式 length(char): 查询字符串的长度 substr(char,m,n): 查字符串的子字符串,从第 m 个字符开始取 n 个 eg: 以首字母大写的方式显示员工姓名 1. select upper(substr(name,1,1))||subStr(name,2) from users 2. select upper(substr(name,1,1))||substr(name,2,length(name)-1) from users replace(char,A,B): 在char 里,用B替换成A 30. round(n,[m]): 执行四舍五入。 省掉m,四舍五入到整数; 如果m是正数,四舍五入到小数点的m位后; 如果m是负数,四舍五入到小数点的m位前。 trunc(n,[m]): 该函数用于截取数字。 省略m,就截去小数部分; 如果m是正数,就截取到小数点的m位后; 如果m是负数,就截取到小数点的前m位 trunc(n) = floor(n) eg: round(55.67,1): 55.7 trunc(55.67,1): 55.6 floor(55.67): 55 ceil(55.67): 56 abs(n): 返回绝对值 31. 日期函数: sysdate: 返回系统时间 add_months(d,n): 从D日期开始,再加N个月 last_day(d): 返回 d 月的最后一天 eg:eg: select sysdate,add_months(sysdate,1) from dual; 2013/12/26 21:53:10 2014/1/26 21:51:29 2013/12/31 22:02:34 32. 系统函数: sys_context 1.terminal: 当前会话客户所对应的终端的标识符 2.language: 语音 3.db_name: 当前数据库名称 4.nls_date_format: 当前会话客户所对应的日期格式 5.session_user: 当前会话客户所对应的数据库用户名 6.current_schema: 当前会话客服所对应的默认方案名 7.host: 返回数据库所在主机的名称 eg: select sys_context('USERENV','db_name') from dual; userenv,是固定的字 33. 管理数据库的用户主要是 sys 和 system sys: 所有Oracle的数据字典的基表和视图都存放在 sys用户中,这些基表和视图对于 Oracle 的运行是至关重要的,有数据库自己维护,任何用户都不能手动更改。 sys 用户拥有 dba,sysdba, sysOper 角色货权限,是Oracle权限最高的用户。 system: 用于存放次一级的内部数据,如Oracle 的一些特性或工具的管理信息,system 用户拥有 dba, sysdba 角色或系统权限 sys用户必须以 as sysdba 或者 as sysoper 形式登录,不能以 normal 方式登录 system如果正常登录,它其实就是一个普通DBA用户,但是如果以 as sysdba 登录,其结果实际上它是作为sys用户登录的