设为首页 加入收藏

TOP

Oracle备忘录1(二)
2015-11-21 01:32:56 来源: 作者: 【 】 浏览:10
Tags:Oracle 备忘录
角色 SELECT * FROM dba_roles; Oracle的所有系统权限 SELECT * FROM system_privilege_map order BY NAME; Oracle的所有对象权限 SELECT DISTINCT privilege FROM dba_tab_privs; 显示当前数据库的全称: SELECT * FROM global_NAME; conn sys/change_on_install as sysdba;――作为系统数据库管理员登录 DROP TABLE r; ――删除表 RENAME r TO r1; ――重命名表名 ALTER TABLE r RENAME column A1 TO A2; ――修改表中的列名 ALTER TABLE r ADD A D; ――增加列的属性 ALTER TABLE r MODIFY A D; ――修改列的属性 ALTER TABLE r DROP A; ――删除列的属性 INSERT INTO r VALUES(); ――插入元组(表中内容) UPDATE TABLE r SET A WHERE ...; ――更新元组(表中内容) DELETE FROM r WHERE ...; ――删除元组(表中内容),写日志,可恢复 TRUNCATE TABLE r;__删除元组(表中内容),速度快,不写日志,不可恢复 SHOW linesize; ――显示行的宽度,默认值为80 SET linesize NUMBER; ――设置行的宽度为NUMBER SET pagesize NUMBER; ――设置每页显示的行数,默认值为14 ALTER SESSION SET nls_date_format='yyyy-mm-dd'; __日期设置成中国人习惯的方式 NVL(D,0) ――如何处理空值null --增加约束 ALTER TABLE r MODIFY A NOT NULL;--非空 ALTER TABLE r ADD CONSTRAINT cardunique UNIQUE(A); --身份证唯一 ALTER TABLE r ADD CONSTRAINT ADDresscheck CHECK(A in('北京','上海','广州')); --删除约束 ALTER TABLE r DROP CONSTRAINT A UNIQUE/CHECK; ALTER TABLE r DROP CONSTRAINT primary key CASCADE; UPDATE r SET A WHERE ...; ――更新元组(表中内容) UPDATE r SET (a1,a2,a3)=(SELECT (A1,A2,A3) FROM r WHERE...) WHERE...; DELETE FROM r WHERE ...; ――删除元组(表中内容) 显示当前用户下的所有表: SELECT TABLE_NAME FROM USER _TABLEs; 显示当前用户可以访问的所有的表: SELECT TABLE_NAME FROM all_TABLEs; 显示数据库中全部的表,必须是dba或者具有SELECT any TABLE的权限 SELECT TABLE_NAME FROM dba_TABLEs; CREATE profile failed_login_lock_NAME limit failed_login_attEMPs num1 password_lock_time num2; ――建立输入密码错误次数达到num1时锁定规定时间num2 CREATE profile password_life_time_NAME limit password_life_time num1 password_grace_time num2 password_reuse_time NUMBER3; ――建立在num1修改密码,宽限天为num2,在NUMBER3天后可以重用 DROP profile profile_NAME(CASCADE); ――删除文件 ALTER USER DB_USER profile profile_NAME; ――对某用户实行这一锁定规则 ALTER USER DB_USER account unclok; ――进行解锁 savapoint a;――设置回滚点,保存点,可预防数据库重要信息的丢失,保存点个数没有限制(可以设置多个回滚点) ROLLBACK TO a;――回滚到这个点 ROLLBACK;――回滚到最初的状态 COMMIT;――提交,每天都必须的操作,但是会删除全部保存点,释放锁,谨慎使用,使用时确保数据库已经不存在问题! 分页: ROWNUM 经典例句:SELECT * FROM (SELECT a.*,rownum rn FROM (SELECT * FROM EMP) a WHERE rownum<=10) WHERE rn>=6; 复制一部分:CREATE TABLE myTABLE(id,NAME) as SELECT EMPno,ename FROM EMP; UNION 合并查询去重 UNION ALL 不去重 INTERSECT 交集查询 MINUS 差集查询,前面减去两者的交集 TO_DATE('1991-12-12','yyyy-mm-dd') TO_DATE('1991/12/12','yyyy/mm/dd') ――指定日期格式 INSERT INTO EMP VALUES(1235,'Test_2','MANAGER',7782,TO_DATE('1998-9-9 12:10:10','yyyy-mm-dd hh24:mi:ss'),1000,100,10); INSERT INTO EMP VALUES(1236,'Test_3','MANAGER',7782,sysdate,1000,100,10); SELECT ename,TO_CHAR(hiredate,'yyyy-mm-dd hh24:mi:ss') FROM EMP; ――查询具体时间,小时,分钟,秒,bbs系统常备 SELECT ename,TO_CHAR(hiredate,'yyyy-mm-dd hh24:mi:ss'),TO_CHAR(sal,'L99,999.99') FROM EMP; ――显示本地货币 SELECT * FROM EMP WHERE TO_CHAR(hiredate,'yyyy')=1980; ――显示某一年入职的员工,某一月mm,某一年中的某一月同理yyyy-mm SET TRANSLATE READ ONLY; ――事务处理集 函数: LOWER(A); UPPER(A); LENGTH(A); SUBSTR(A,m,n); ――m代表起始位置,n代表取得字符个数 完成首字母大写 ――SELECT UPPER(SUBSTR(A,1,1)) FROM EMP; 完成后面字母小写――SELECT lower(SUBSTR(A,2,LENGTH(A)-1)) FROM r; 合并:SELECT UPPER(SUBSTR(A,1,1))||lower(SUBSTR(A,2,LENGTH(A)-1)) FROM r; REPLACE(A,search_string,REPLACE_string); ――替换字符 INSTR(char1,char2,[,n[,m]]; ――取字串在字符串的位置 数学函数: ROUND(A,m); ――四舍五入,保留m位 TRUNC(A,m);――截取数字,保留m位,忽略余数 MOD(A,n);――对A取模n FLOOR(A);――返回小于或者等于n
首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇关于Oracle实时数据库的优化思路 下一篇ORACLE逻辑备份与恢复

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: