`

几条有用sql

阅读更多

查找数据库中所有字段  以对应的表
select C.column_name,C.TABLE_NAME from dba_tab_columns C where owner=''

查每个科目class 分数scro前三名
select id, name, class, scro
   from (select row_number() over(partition by class order by scro desc)  cnt,
                id,
                name,
                class,
                scro
           from student) a
  where a.cnt <= 3;

查找排序后的前三行
  select *
  from (select rw.*, rownum
          from (select *
                  from student d
                 where d.class = 'b'
                 order by d.scro desc) rw
         where rw.id >= 1
         order by rw.class desc) n
where rownum <= 3


表复制
insert into table_a (id,name,age) select b.id,b.name,b.age from table_b;

--删除表数据的触发器
CREATE OR REPLACE PROCEDURE delete_data
IS
BEGIN
   delete from test ;
   COMMIT;
EXCEPTION
   WHEN NO_DATA_FOUND
   THEN
      NULL;
   WHEN OTHERS
   THEN
      RAISE;
END delete_data;


--定时删除  每隔5分钟执行一次的计划
DECLARE
  X NUMBER;
BEGIN
  SYS.DBMS_JOB.SUBMIT
  ( job       => X
   ,what      => 'delete_data;'
   ,next_date => to_date('25/08/2008 00:00:00','dd/mm/yyyy hh24:mi:ss')
   ,interval  => 'sysdate+1/24/12'
   ,no_parse  => FALSE
  );
  SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;

--查看当前oracle计划
select job,next_date,next_sec,failures,broken from user_jobs;

--删除一个job
begin
dbms_job.remove(46);--46为job号
end;

--给新表插入旧表对应字段的所有数据
insert into aaa(id,name) select b.id,b.name from bbb;


文章搜索:     【点击打包该文章】
【到本站论坛,与同行交流】

select * from all_users;                ##查看所有用户
select name from v$database;             ##查看当前数据库
database test;                    ##进入test数据库
select * from v$instance;                ##查看所有的数据库实例
shutdown immediate                ##关闭数据库
alter user sys identified by new_password;        ##更改用户密码
select username,password from dba_users; ##查看当实例中的用户和密码
show parameter control_files;           ## 查看控制文件;
select member from v$logfile;        ##查看日志文件
show parameter ;                 ## 查看数据库参数
select * from user_role_privs;        ##查看当前用户的角色
select username,default_tablespace from user_users; ##查看当前用户的缺省表空间
alter user system identified by [password]        ##修改用户的密码
ALTER USER "SCOTT" ACCOUNT UNLOCK                 ##解锁SCOTT用户
show parameter processes;                    ##查看最大会话数


查看当前库的所有数据表:
SQL> select TABLE_NAME from all_tables;
select * from all_tables;
SQL> select table_name from all_tables where table_name like ‘u’;
TABLE_NAME———————————————default_auditing_options

查看表结构:desc all_tables;

创建用户并赋予权限
###----------------------------创建用户并赋予权限------------------------------------####-
create user mpss
  identified by "mpss12"
  default tablespace TS_MPSS_DATA
  temporary tablespace TEMP;
 
  给用户赋予权限
grant connect to mpss;
grant resource,create session to mpss;  开发角色
grant create procedure to dbuser; #这些权限足够用于开发及生产环境



给用户授权
grant dba to spms;--授予DBA权限
grant unlimited tablespace to lxg;--授予不限制的表空间
grant select any table to lxg;--授予查询任何表
grant select any dictionary to lxg;--授予 查询 任何字典

删除用户
drop user mpss cascade;


建表空间
###---------------------------------建表空间------------------------------------####-
================建立表空间============================

CREATE TABLESPACE "TS_MPSS_DATA"
    LOGGING
    DATAFILE '/mpss/data/ts_mpss_data.dbf' SIZE 1024M
    EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO
=====================================================
=================建立临时表空间============================

CREATE
    TEMPORARY TABLESPACE "SWVIP" TEMPFILE '/app/oracle/oradata/
    sworacle/SWVIP.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL UNIFORM
    SIZE 1M
=====================================================


create tablespace TS_MPSS_DATA datafile '/mpss/data/ts_mpss_data.bdf ' size 1024m autoextend on ;      ###autoextend on 自动扩展

###------------------------------------------------------------------------------------####-


查看表空间
###----------------------------查看表空间大小------------------------------------####-
SELECT D.TABLESPACE_NAME "Name",
TO_CHAR(((((A.BYTES - DECODE(F.BYTES, NULL, 0, F.BYTES)) / 1024 / 1024)) /(A.BYTES / 1024 / 1024))*100,'99,990.9')  "used(%)",
TO_CHAR((DECODE(F.BYTES, NULL, 0, F.BYTES) / 1024 / 1024),'999,990.9') "Free (M)"
FROM SYS.DBA_TABLESPACES D, SYS.SM$TS_AVAIL A, SYS.SM$TS_FREE F
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME
AND F.TABLESPACE_NAME (+) = D.TABLESPACE_NAME;
###--------------------------------------------------------------------------------------####-

SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",
ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED_RATE(%)",FREE_SPACE "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,
USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",
NVL(FREE_SPACE,0) "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) ;



  查看表空间物理文件的名称及大小;
 
###--------------------表空间物理文件的名称及大小------------------------####-
  select tablespace_name, file_id, file_name,
    round(bytes/(1024*1024),0) total_space
    from dba_data_files
    order by tablespace_name;
###------------------------------------------------------------------------------------####-  
   

查看数据文件放置的路径
###------------------------------------------------------------------------------------####-  

SQL> col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
###------------------------------------------------------------------------------------####-  


    查看数据库库对象

    select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;


用系统管理员,查看当前数据库有几个用户连接:

SQL> select username,sid,serial# from v$session;


扩表空间
###------------------------------------------------------------------------------------####-
alter tablespace G000 add datafile '/dev/vgbilling/rg000_lv03' SIZE 7500m;
给表G000增加一个7500m的逻辑卷'/dev/vgbilling/rg000_lv03'
###------------------------------------------------------------------------------------####-

检查被长时间锁的对象
###------------------------------------------------------------------------------------####-

SQL>select a.session_id,a.process,a.locked_mode,b.object_name,b.object_type,b.status from v$locked_object a,dba_objects b where a.object_id=b.object_id;
###------------------------------------------------------------------------------------####-





文章出处:http://www.diybl.com/course/7_databases/oracle/Oracleshl/200899/141376.html


sys用户登陆
创建表空间:
SQL> create tablespace lmsstemp datafile 'F:\ORADATA\LMSS\LMSSTEMP01.DBF' SIZE 1
024M extent management local;

给表空间增加数据文件
alter tablespace lmsstemp add datafile 'F:\ORADATA\LMSS\LMSSTEMP02.DBF' SIZE 1
024M;

更改表空间为自动扩展
SQL> alter database datafile 'F:\ORADATA\LMSS\LMSSTEMP01.DBF' autoextend on;

查看表空间信息
SQL> select file_name,tablespace_name,autoextensible from dba_data_files;

授权:
    create any table to leon




-- Create the user (用sys执行)
create user xx  identified by xx123 default tablespace lmss temporary tablespace TEMP profile DEFAULT;

-- Grant/Revoke role privileges (用sys执行)
grant connect to xx;

--创建视图给hy用户(用leon用户)

create or replace view view_tableName as
select column。。。 from table;

-- Grant/Revoke object privileges
grant select, update on RES_XIM_CARD to hy;

--创建同义词
create synonym RES_XIM_CARD for YY.RES_XIM_CARD ;

转自http://www.iteye.com/topic/202407

分享到:
评论

相关推荐

    MySQL官网测试数据上百万条数据sql文件

    描述中提到,这个SQL文件包含约300万条数据,这意味着它可能是一个大规模的数据导入示例,这对于测试数据库的性能、并发处理能力和恢复机制等非常有用。在实际操作中,导入大量数据可能需要较长时间,因此在导入前,...

    Jmeter中JDBC request多条SQL语句使用.docx

    本文将重点介绍如何在JMeter中使用JDBC Request来执行多条SQL语句,包括查询与更新操作,并针对不同类型的SQL语句提供最佳实践。 #### 二、JDBC Request概述 JDBC Request是JMeter提供的一个用于执行数据库操作的...

    sql 随机抽取几条数据的方法 推荐

    传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序里的时候就不管用了,总是那几条,于是对这个东西进行...

    单条SQL语句实现复杂逻辑几例

    ### 单条SQL语句实现复杂逻辑几例 在数据库管理与开发中,有时需要处理较为复杂的业务逻辑,而这些逻辑往往可以通过一条精心构造的SQL语句来完成。本文将介绍一个具体的例子,即如何使用单条SQL语句来生成指定商品...

    执行多条SQL语句,实现数据库事务。

    ### 执行多条SQL语句实现数据库事务 在软件开发中,特别是在涉及到数据库操作的应用程序设计中,...上述代码示例展示了如何在C#中实现多条SQL语句的事务处理,这对于需要保证数据完整性的应用程序来说是非常有用的。

    查询前几条记录

    总之,"查询前几条记录"是数据库操作的基本技巧,涉及到SQL语句的编写和数据库性能优化。理解并熟练掌握这一技能对于任何IT开发者来说都至关重要,无论是在Web开发、数据分析还是其他领域。同时,了解数据库工具和...

    SQL Plus常用命令

    本文将详细介绍SQL Plus中的几个基本命令:`desc`命令、`L`命令、`n`命令、`save`命令以及`spool`命令,并结合部分实际应用场景加以说明。 #### 二、`desc`命令 `desc`命令用于显示表或视图的结构信息,包括字段名...

    SQL 取n到m条记录

    - **最近数据查询:** 如果需要获取最新的几条记录(如最近发布的文章),可以通过这种方法结合降序排序来实现。 - **性能优化:** 当只需要获取最新的一小部分数据时,这种方法能够减少不必要的数据处理。 **注意...

    八个非常有用的WordPress的SQL语句

    ### 八个非常有用的WordPress的SQL语句 在管理WordPress网站的过程中,经常需要用到SQL语句来执行各种操作...以上八个SQL语句涵盖了WordPress网站管理中常见的几个方面,希望能帮助你在日常运维中更加高效地处理问题。

    全国省市区最新sql20180315版

    - 接下来的几条记录分别代表了北京市内的海淀区、朝阳区、顺义区等地区的信息。 #### 综合分析 1. **应用场景**:这份数据可以应用于各种需要处理地理位置信息的场景,如地图应用、物流配送系统、天气预报服务等。...

    解决python 执行sql语句时所传参数含有单引号的问题

    在例子中,作者创建了一个DataFrame `a`,包含了多个列的比较条件,然后通过遍历列和值,构建了一条包含多个条件的AND连接的SQL WHERE子句。这个过程包括以下几个步骤: 1. 遍历DataFrame的列(columns),将每列的...

    SQL查询分析器修正分离版

    9. **脚本执行**:允许用户编写和执行多条SQL语句的脚本,这对于批量处理任务非常有用。 10. **数据导入导出**:有时,分析器还提供了数据导入和导出功能,便于数据迁移或备份。 作为一款绿色、便携的版本,"SQL...

    世界行政区域划分sql

    描述中提到的“一条sql帮你建好行政区域”,意味着这个SQL语句可能是一个创建表的语句,用于在数据库中建立一个或多个包含行政区域信息的表格。它可能包括了如国家、省份、城市、区县等不同级别的行政单位,并且数据...

    sql语句优化心得

    然而,随着业务规模的扩大,特别是当数据量增加至几十万乃至数百万条时,SQL语句的性能问题就会变得尤为突出。因此,掌握一些SQL性能优化技巧对于提升系统的整体性能至关重要。 #### MySQL慢查询日志配置与分析 ...

    SQL emp表的几个重要的操作

    这样的查询对于人力资源分析非常有用,可以帮助了解不同部门的薪资分布情况。 ### 4. 复杂分组与筛选 SQL语句:`SELECT AVG(SAL),MIN(SAL),DEPTNO,JOB FROM EMP GROUP BY(DEPTNO,JOB) HAVING AVG(SAL) &gt; 2000;` ...

    批量执行Sql脚本工具(含代码)

    在数据库管理中,批处理SQL脚本意味着一次性运行多个SQL语句或脚本,这对于数据库初始化、数据迁移或大型数据更新操作非常有用。 2. **脚本文件**:SQL脚本通常是以`.sql`为扩展名的文本文件,包含一系列SQL命令,...

    navicat for mysql执行sql脚本细节

    - **遇到错误继续**:启用此选项后,即使脚本中某条SQL语句执行失败,Navicat也会尝试继续执行后续语句。 - **set autocommit=0**:此选项控制事务自动提交的行为。默认情况下,每条SQL语句执行完毕后会立即提交。若...

    SQL语句导入导出大全

    通过这些SQL语句,我们可以非常方便地实现不同格式的数据文件与SQL Server之间的数据交换,这对于日常的数据库管理和维护来说是非常有用的。需要注意的是,在实际操作中,还需要根据具体情况调整命令参数,确保数据...

    sql查询重复记录语句

    本文将深入解析几种常见的SQL查询重复记录的方法,并通过示例代码加以说明,帮助读者更好地理解和掌握这些技巧。 ### SQL查询重复记录方法概览 #### 方法一:查询所有重复记录 首先,我们来看一种查询所有重复记录...

    有关数据库sql.txt

    根据给定的文件信息,我们可以深入探讨几个关键的数据库操作与SQL语句,这些是数据库管理员和开发人员日常工作中频繁使用的知识点。 ### 1. 数据库连接配置 在文件中出现了一段配置字符串`sqlserver datasource....

Global site tag (gtag.js) - Google Analytics