`
pacer123
  • 浏览: 90785 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

一些实用的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;
1. 查看被锁的表
SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,
       b.os_user_name
  FROM v$process p, v$session a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr AND a.process = b.process
       AND c.object_id = b.object_id
       
2. 查看是哪个进程锁的
SELECT sid, serial#, username, osuser FROM v$session  where osuser = 'applprd'

3. 杀掉这个进程  alter system kill session 'sid,serial#';

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



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 ;


分享到:
评论

相关推荐

    SQL SERVER 数据库实用SQL语句

    本文总结了 SQL SERVER 数据库中的一些实用 SQL 语句,涵盖了排序、分页、获取当前数据库信息、查询某一个表的字段和数据类型、事务处理、全文匹配查询、计算执行 SQL 语句查询时间等方面。 一、排序 在 SQL ...

    SQLServer实用SQL语句大全

    这个"SQLServer实用SQL语句大全"资源很可能包含了广泛且深入的SQL语法和实用技巧,适用于数据库设计、数据查询、数据更新以及数据库维护等各种场景。下面我们将深入探讨一些重要的SQL Server SQL语句和概念。 1. **...

    SQL2000的一些实用语句

    ### SQL2000的一些实用语句 在学习和使用SQL Server 2000的过程中,掌握一些实用的SQL语句对于提高工作效率、优化数据库管理至关重要。以下是对给定文件中的几个关键知识点进行的详细解释。 #### 1. 创建空表 **...

    实用SQL解决开发难题

    本主题“实用SQL解决开发难题”聚焦于如何利用SQL来解决一些实际开发过程中遇到的问题。下面我们将详细探讨标题和描述中提到的知识点。 首先,我们来看“获取逗号分割的字符串数据中的元素”。在数据库中,有时我们...

    sql实用学习手册

    本篇将围绕《SQL实用学习手册》中的关键知识点进行深入探讨。 首先,SQL的基础操作包括选择数据、排序和分组。例如,`SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC` 这个语句...

    SQL实用教程第二版.pdf

    同时,作者还介绍了一些特定数据库系统的高级特性,如Oracle的PL/SQL编程或SQL Server的T-SQL编程等,帮助读者在特定的应用场景中发挥出SQL的最大潜力。 为了帮助读者巩固所学知识,本书还提供了丰富的参考资料和...

    sql超实用教程

    综上所述,本SQL超实用教程旨在为SQL初学者和进阶用户提供一个全面、深入的指导,帮助他们快速掌握SQL语言的核心概念和应用技巧。通过对本教程的学习,用户将能够对数据库进行高效的查询、管理和分析,从而在数据...

    SQL Server 数据库实用SQL语句

    在SQL Server数据库中,了解和熟练运用SQL语句是管理和操作数据的关键。下面将详细解析提供的实用...以上就是SQL Server中涉及的一些实用SQL语句及其背后的原理和用法,掌握这些技巧能更高效地进行数据库操作和管理。

    SQL学习总结(实用)

    本篇文章将围绕《SQL学习总结(实用)》的标题和描述,探讨一些关键的SQL优化技巧和概念。 1. **选择最有效的表名顺序**:在编写SQL查询时,特别是涉及多表联接的查询,表的处理顺序会影响查询效率。Oracle解析器...

    数据库实用教程--SQL2008

    《数据库实用教程--SQL Server 2008》是一本深入浅出地介绍SQL Server 2008的教程,适合初学者和有一定基础的IT从业者。SQL Server 2008是微软公司推出的一款强大的关系型数据库管理系统,广泛应用于企业级数据存储...

    SQLSERVER基础实用必会SQL语句整理.docx

    本文档旨在整理SQLSERVER基础实用必会SQL语句,涵盖数据库的创建、备份、还原等问题的解决方法,并提供了一些有用的SQL语句命令。 一、SQLSERVER数据库的安装问题 在安装SQLSERVER2008时,可能会出现问题。如果...

    实用程序:SQL语句的总结

    这篇文档将探讨SQL的基础和一些实用的语句,旨在帮助你更好地理解和应用SQL。 1. **SQL的基本概念** - **数据库**:存储和组织数据的系统,如MySQL、Oracle、SQL Server等。 - **表**:数据库中的数据容器,由列...

    sql经验总结技巧—非常的实用

    在SQL Server数据库管理中,掌握一些实用的技巧能够显著提升工作效率。以下是一些关于SQL Server的经验总结,涵盖了问题解决、日期处理、数据操作、查询优化等多个方面: 1. **处理挂起的安装操作**:当安装SQL ...

    SQL+server+客户端网络实用工具独立包

    SQL Server 客户端网络实用工具独立包是一个包含了一系列用于管理和诊断SQL Server网络连接的工具集合。这个包对于SQL Server数据库管理员来说极其重要,因为它提供了对数据库服务器远程访问的配置和故障排查能力。...

    关于一些经典sql语句分享

    以下是一些经典SQL语句及其详细解释,这些都是在实际开发和数据分析中非常实用的技巧。 1. **SELECT语句**:这是SQL中最基本的查询语句,用于从表中检索数据。例如: ```sql SELECT column1, column2 FROM table_...

    经典SQL语句大全,精简实用

    以下是对标题和描述中提到的一些SQL知识点的详细解释: 1. **创建数据库**:使用`CREATE DATABASE`语句可以创建一个新的数据库。例如,`CREATE DATABASE database-name`会创建一个名为`database-name`的新数据库。 ...

    实用SQL命令模板

    本资料“实用SQL命令模板”提供了一些常用的SQL命令,这对于数据库操作和数据分析来说非常有用。下面我们将详细探讨这些命令及其应用。 1. **SELECT语句**:这是SQL中最基本的命令,用于从数据库中检索数据。例如,...

    T-SQL实用小代码

    【T-SQL实用小代码】涉及的是SQL Server中的一些常用操作和T-SQL语句,主要涵盖数据库的导入导出、排序、分页查询、获取元数据、事务处理以及一些高级查询运算。以下是对这些知识点的详细说明: 1. **数据库导入...

    SQL实用教程程序源码

    ### SQL实用教程程序源码知识点解析 #### 一、SQL查询语句详解 在文档的“部分内容”中,首先出现的是SQL查询语句,用于从数据库中检索数据。以下是对这些查询语句的分析: 1. **计算订单总价**: - `SELECT ...

Global site tag (gtag.js) - Google Analytics