Oracle数据库命令大全速查
oracle数据库查询语句大全
oracle数据库查询语句大全1. select * from table_name where rownum>begin and rownum< end2.sql = "select * from table"con.prepareCall("SELECT * FROM(SELECT A.*, rownum r FROM("+sql+") A WHERE rownum <="+intPage*intPageSize+") B WHERE r > "+(intPage-1)*intPageSize);今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案.select table_name from all_tables;//所有的表明select table_name from user_all_tables;//用户的所有的表一下是转贴的sql语句的帖子.select * from user_objects; //查询所有的表select * from dba_tables; //查询所有的表select * from all_tables; //查询所有的表select * from user_users //查出一个用户select * from all_users //查询所有用户select * from dba_users //查询所有用户select name,dbid from v$database; //查询数据库名和它的IDselect * from er_tab_columns; //查询表名,并显示列名describe 表名//查询表结构select * from er_tab_columns where table_name=表名 //查询指定表名的字段2: 查询数据库参数show parameter db;3:查询数据库的实例名select instance_name from v$instance;4: 数据库域名数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用select value from v$parameter where name='db_domain'show parameter domain5:数据库服务名如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同show parameter service_name6:显示当前用户show user7:直接登陆sqlplus "/as sysdba"8:当前ORACLE系统时间select sysdate from dual;9:查询数据库字典v$nls_parameter产看字符集相关参数select * from v$nls_parameters;//*************oracle基本操作语句(适合初学者)oracle操作语句:1.创建表create table 表名(列名1 类型,列名2 类型);2.修改类属性alter table 表名 modify(列名类型);3.添加列alter table 表名 add(列名类型);4.添加主键约束和非空约束alter table 表名 add constraint pk_表名 primary key(列名); alter table 表名 modify(列名 not null);5.删除主键约束alter table 表名 drop primary key;alter table 表名 drop constraint pk_表名;6.失效约束alter table 表名 disable primary key;alter table 表名 disable constraint pk_表名;7.有效约束alter table 表名 enable primary key;alter table 表名 enable constraint pk_表名;8.删除列alter table 表名 drop column 列名;9.设置某列不可用,然后删除alter table 表名 set unused(列名);alter table 表名 drop unused columns;10.修改表名rename 表名1 to 表名2alter 表名1 rename to 表名2;11.截断表truncate table 表名;12.截断表保留行空间truncate table 表名 resue storage;13.查看表结构desc table 表名;14.删除表drop table 表名;15.插入记录例:insert into 表名 values(内容1,内容2,内容3,内容4);16.带参数对话方式插入行例:insert into 表名 values(&列名1,&列名2);insert into 表名 values(内容1,内容2);17.插入某几列记录insert into 表名(列名1,列名2) values(内容1,内容2);18.为列插入空值(其列不能为not null)insert into 表名 values(内容1,null,null);19.创建表(包括主键及外键设置)方法一create table 表名(列名1 类型constraint pk_表名 primary key,列名2 类型 not null,列名3 类型constraint fk_表名 reference 表名(列名),列名3 类型constraint ck_表名 check(列名3 in(''内容1'',''内容2'',''内容3'')));20.查询所有行select * from 表名;21.查询某几列select 列名1,列名2 from 表名;22.重复行消除select distict 列名 from 表名;23.where语句查询select * from 表名 where 条件 order by 列名;(注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名where 条件 order by 列名 desc;)24.创建表,方法二create table 表名(列名1 类型 primary key,列名2 类型 not null,列名3 类型 check(列名3 in('''','''','''')), 列名4 类型 refernce 表名(列名));25.修改列=‘?’的数据update 表名 set (列=?) where 列=‘?’; 26.删除行delete from 表名 where 条件;27.事务处理--事务处理update 表名set 列名(日期) = ''30-5月-98''where 条件;savepoint mark1;delete from 表名 where 条件;savepoint mark2;rollback to savepoint mark1;rollback;28.建立用户user1,密码为password授予用户connect,resource的权限connect角色用于登录resource角色用于建表等.connect system/managercreate user user1 identified by password;grant connect,resource to password;29.数据控制语言connect scott/tiger30.把对表1查询和修改的权限授予user1grant select,update on 表1 to user1;31.把对表表1中列1和列2修改的权限授予user1grant update(列1,列2) on 表1 to user1;32.把对表表1查询的权限授予用户user1并且user1用户还可以把这个权限授予别的用户(with grant option) grant select on 表1 to user1 with grant option;33.从用户user1撤销对表1查询和修改的权限revoke select,update on 表1 from user1;。
oracle索引查询语句
oracle索引查询语句Oracle索引是一种用于加快查询速度的数据结构,它能够提高数据库的性能和效率。
索引查询语句是使用索引来搜索和获取数据的查询语句。
下面列举了一些常用的Oracle索引查询语句。
1. 查询表中的所有索引```sqlSELECT index_name, table_nameFROM user_indexes;```2. 查询索引的定义和属性```sqlSELECT index_name, table_name, column_name, uniqueness FROM user_ind_columnsWHERE table_name = '表名';```3. 查询表中某个索引的使用情况```sqlSELECT index_name, table_name, statusFROM all_indexesWHERE table_name = '表名' AND index_name = '索引名';```4. 查询使用了索引的SQL语句```sqlSELECT sql_textFROM v$sqlWHERE sql_text LIKE '%索引名%';```5. 查询索引的大小和碎片情况```sqlSELECT index_name, leaf_blocks, num_rows, clustering_factor FROM user_indexesWHERE table_name = '表名';```6. 查询索引的统计信息```sqlSELECT index_name, distinct_keys, num_rows, clustering_factorFROM user_indexesWHERE table_name = '表名';``````sqlEXPLAIN PLAN FORSELECT * FROM 表名WHERE 索引列 = 值;SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);```8. 查询索引的创建时间和最后修改时间```sqlSELECT index_name, created, last_ddl_timeFROM all_indexesWHERE table_name = '表名';```9. 查询索引的统计信息和优化建议```sqlSELECT index_name, table_name, column_name, num_distinct, density, histogramFROM dba_optstat_indexesWHERE table_name = '表名';``````sqlSELECT index_name, table_name, column_name, usage, effectivenessFROM v$index_usage;```以上是一些常用的Oracle索引查询语句,可以帮助我们了解和优化索引的使用情况,提高数据库的性能和效率。
oracle查询10条数据的sql语句
oracle查询10条数据的sql语句Oracle 数据库是当今世界上最流行的数据库系统之一、它提供了高度安全性和完整的事务管理,以及可扩展性,跨平台和可控性等特点。
为了从 Oracle 数据库中检索数据,我们需要用到 SQL 语句。
SQL 语句是结构化查询语言的缩写,它是一个标准化的语言,用于管理和处理数据库。
在这篇文章中,我们将学习如何从 Oracle 数据库中查询前10条数据的SQL 语句。
在 Oracle 中,我们使用 SELECT 语句来检索数据。
它的基本语法如下:SELECT column1, column2, column3, ... FROM table_name;。
在这里,column1,column2,column3是我们要检索的列,而table_name是我们要检索数据的表。
但是,如果我们只想检索前10条记录,我们需要使用ROWNUM(行号)。
ROWNUM 是 Oracle 中的一个伪列,它表示查询返回的结果集中的行号。
下面是它的基本语法:SELECT column1, column2, ... FROM table_name WHERE ROWNUM <= 10;。
在这里,我们使用WHERE子句来限制检索的行数,仅返回前10行数据。
我们可以使用ORDERBY来排序结果集中的行,如下所示:SELECT column1, column2, ... FROM table_name WHERE ROWNUM <= 10 ORDER BY column_name ASC,DESC;。
这个语句将返回前10行已经按列名排序的数据,ASC表示升序排列,DESC表示降序排列。
如果你想从多个表中检索前10条记录,你可以使用JOIN语句,如下所示:SELECT column1, column2, ... FROM table1 JOIN table2 ON condition WHERE ROWNUM <= 10 ORDER BY column_name ASC,DESC;。
常用oracle数据库命令
常用oracle数据库命令
1. 启动Oracle数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
3. 创建表空间
创建表空间的命令是:
SQL> create tablespace 表空间名 datafile '路径名' size 大小;
6. 创建用户
7. 删除用户
删除用户的命令是:
8. 授权用户
SQL> grant 权限 to 用户名;
9. 撤销用户的权限
11. 查看表结构
查看表结构的命令是:
SQL> desc 表名;
SQL> create table 表名 (列名数据类型, 列名数据类型, …);
13. 删除表
14. 插入数据
插入数据的命令是:
SQL> update 表名 set 列名=新值 where 某条件;
18. 创建索引
20. 查看索引
21. 查询相关信息
查询相关信息的命令是:
SQL> select * from v$session; -- 查看会话 22. 查看数据库版本
24. 备份数据库
$ exp 用户名/密码 file=备份文件路径备注:以上命令均需要在Oracle登录后进行。
oracle查询实例命令
oracle查询实例命令以下是一些Oracle数据库中常用的查询实例命令示例:1.查询表的所有数据:SELECT * FROM table_name;2.查询指定列的数据:SELECT column1, column2, ... FROM table_name;3.查询满足特定条件的数据:SELECT * FROM table_name WHERE condition;4.对结果进行排序:SELECT * FROM table_name ORDER BY column_name [ASC|DESC];5.使用聚合函数进行数据统计:SELECT COUNT(*) FROM table_name; -- 统计行数SELECT SUM(column_name) FROM table_name; -- 求和SELECT AVG(column_name) FROM table_name; -- 平均值SELECT MAX(column_name) FROM table_name; -- 最大值SELECT MIN(column_name) FROM table_name; -- 最小值6.连接多个表进行查询:SELECT t1.column1, t2.column2 FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id;7.使用条件进行分组:SELECT column1, COUNT(*) FROM table_name GROUP BY column1;8.使用LIKE进行模糊查询:SELECT * FROM table_name WHERE column_name LIKE 'keyword%';以上只是一些常见的查询示例,实际查询命令会根据具体的表结构和查询需求而有所不同。
在使用Oracle数据库时,请根据具体情况和需求构建和调整查询语句。
Oracle常用命令大全(很有用,做笔记)
Oracle常⽤命令⼤全(很有⽤,做笔记)⼀、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪⼏种启动⽅式说明:有以下⼏种启动⽅式:1、startup nomount⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。
2、startup mount dbname安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。
oracle 查询表数量的语句
oracle 查询表数量的语句Oracle是一种关系型数据库管理系统,它支持SQL语言,可以用来查询、管理和维护数据库。
在Oracle中,查询表数量是一项非常基础的操作,可以通过多种方式实现。
下面列举了10个常用的查询表数量的语句。
1. 查询所有表的数量SELECT COUNT(*) FROM user_tables;这个语句会返回当前用户下所有表的数量。
2. 查询指定用户下的表数量SELECT COUNT(*) FROM all_tables WHERE owner = 'username';这个语句会返回指定用户下所有表的数量。
3. 查询系统中所有表的数量SELECT COUNT(*) FROM all_tables WHERE owner = 'SYS';这个语句会返回系统中所有表的数量。
4. 查询当前用户下指定模式的表数量SELECT COUNT(*) FROM user_tables WHERE table_name LIKE 'pattern%';这个语句会返回当前用户下以指定模式开头的表的数量。
5. 查询当前用户下指定类型的表数量SELECT COUNT(*) FROM user_tables WHERE table_type = 'TABLE';这个语句会返回当前用户下所有表的数量。
6. 查询当前用户下指定表空间的表数量SELECT COUNT(*) FROM user_tables WHERE tablespace_name = 'tablespace_name';这个语句会返回当前用户下指定表空间的表的数量。
7. 查询当前用户下指定日期之后创建的表数量SELECT COUNT(*) FROM user_tables WHERE created_date > 'date';这个语句会返回当前用户下指定日期之后创建的表的数量。
oracle数据库查询命令
oracle数据库查询命令⼀、⽤户表数据查询1、⽤户查看当前⽤户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前⽤户的⾓⾊SQL>select * from user_role_privs;查看当前⽤户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;2、表 tabs查看⽤户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');查看某表的⼤⼩SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');查看放在ORACLE的内存区⾥的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引 ind查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的⼤⼩SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');4、序列号 seq查看序列号,last_number是当前值SQL>select * from user_sequences; 或 select * from seq;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的⼤⼩SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name');9、获取创建表语句 设置输出长度 SQL> SET LONG 9999; SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','tablename') FROM DUAL;⼆、查看数据库的SQL1、查看表空间的名称及⼤⼩select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理⽂件的名称及⼤⼩select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及⼤⼩select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制⽂件select name from v$controlfile;5、查看⽇志⽂件select member from v$logfile;6、查看表空间的使⽤情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建⽇期和归档⽅式Select Created, Log_Mode, Log_Mode From V$Database;。
Oracle数据库日常巡检指令
Oracle 数据库日常巡检指令Oracle数据库的日常巡检内容包括:Oracle数据库基本状况检查;Oracle相关资源的使用情况检查;Oracle数据库性能检查;数据库服务器cpu、mem和I/O 性能检查;数据库服务器安全性及其他事项检查等五大检查项目。
1、数据库基本状况检查(1)、数据库实例状况检查说明:其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
(2)、数据库表空间状态检查说明:输出结果中STATUS应该都为“ONLINE”。
(3)、数据库数据文件检查1 select tablespace_name,status from dba_tablespaces;说明:输出结果中“STATUS”应该都为“AVAILABLE”。
(4)、数据库在线日志检查1 select group#,status,type,member from v$logfile;说明:输出结果应该有3条或3条以上记录,“STATUS”应该为非“INVALID”,非“DELETED”。
“STATUS”的值为空表示正常。
(5)、数据库回滚段检查1 select segment_name,status from dba_rollback_segs;说明:输出结果中所有回滚段的“STATUS”应该为“ONLINE”。
2、数据库相关资源使用情况检查(1)、检查Oracle初始化文件中相关参数值1 select resource_name,max_utilization,initial_allocation, limit_value from v$resource_limit;说明:若字段值【LIMIT_VALU】-【MAX_UTILIZATION】<=5,则表明与RESOURCE_NAME相关的Oracle初始化参数需要调整。
oracle查询语句大全
oracle查询语句大全oracle 基本命令大全一1.create user username identified by password;//建用户名和密码oracle ,oracle2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username;3.connect username/password//进入。
4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。
5. 如何执行脚本SQL文件? SQL>@PA TH/filename.sql;6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体.使用C#描述应如下所示:mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;";7.查询用户下的所有表select distinct table_name from user_tab_columns;8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum<n9.查找用户下的所有表:select * from tab;2、显示当前连接用户SQL> show user3、查看系统拥有哪些用户SQL> select * from all_users;4、新建用户并授权SQL> create user a identified by a;(默认建在SYSTEM表空间下)SQL> grant connect,resource to a;5、连接到新用户SQL> conn a/a6、查询当前用户下所有对象SQL> select * from tab;7、建立第一个表SQL> create table a(a number); 8、查询表结构SQL> desc a9、插入新记录SQL> insert into a values(1); 10、查询记录SQL> select * from a;11、更改记录SQL> update a set a=2;12、删除记录SQL> delete from a;13、回滚SQL> roll;SQL> rollback;14、提交SQL> commit;select * from(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)where rank = 2;46. 如何在字符串里加回车?select 'Welcome to visit'||chr(10)||'' from dual ;47. 中文是如何排序的?Oracle9i之前,中文是按照二进制编码进行排序的。
Oracle数据库语句大全
Oracle数据库语句大全一.入门部分1.创建表空间create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on;2.删除表空间drop tablespace schooltbs[including contents and datafiles];3.查询表空间基本信息select *||tablespace_name from DBA_TABLESPACES;4.创建用户create user lihuaidentified by lihuadefault tablespace schooltbstemporary tablespace temp;5.更改用户alter user lihuaidentified by 123default tablespace users;6.锁定用户alter user lihua account lock|unlock;7.删除用户drop user lihua cascade;--删除用户模式8.oracle数据库中的角色connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource9.授予连接服务器的角色grant connect to lihua;10.授予使用表空间的角色grant resource to lihua with grant option;--该用户也有授权的权限11.授予操作表的权限grant select,insert on user_tbl to scott;--当前用户grant delete,update on er_tbl to scott;--系统管理员二.SQL查询和SQL函数1.SQl支持的命令:数据定义语言(DDL):create,alter,drop数据操纵语言(DML):insert,delete,update,select数据控制语言(DCL):grant,revoke事务控制语言(TCL):commit,savepoint,rollback2.Oracle数据类型字符,数值,日期,RAW,LOB字符型char:1-2000字节的定长字符varchar2:1-4000字节的变长字符long:2GB的变长字符注意:一个表中最多可有一列为long型Long列不能定义唯一约束或主键约束long列上不能创建索引过程或存储过程不能接受long类型的参数。
oracle 查询表的几种方法
标题:Oracle查询表的几种方法随着大数据时代的到来,数据库查询成为了日常工作中必不可少的一部分。
在Oracle数据库中,查询表是我们使用频率最高的操作之一。
本文将介绍Oracle查询表的几种方法,帮助读者更好地理解和应用Oracle数据库。
一、使用SELECT语句查询单个表在Oracle数据库中,通过使用SELECT语句可以查询单个表的数据。
SELECT语句的基本语法如下:SELECT column1, column2, ...FROM table_nameWHERE condition;其中,column1, column2表示要查询的列名,table_name表示表名,condition表示查询条件。
二、使用JOIN语句查询多个表在实际应用中,我们经常需要同时查询多个表的数据。
这时可以使用JOIN语句来实现。
在Oracle数据库中,JOIN语句有多种类型,包括INNER JOIN、LEFT JOIN、RIGHT JOIN等,根据实际需求选择合适的JOIN类型。
JOIN语句的基本语法如下:SELECT column1, column2, ...FROM table1INNER JOIN table2 ON condition;其中,table1、table2表示要查询的表名,condition表示连接条件。
三、使用子查询查询表有时候我们需要在查询语句中嵌套查询,这时可以使用子查询来实现。
子查询是指在一个查询语句中嵌套另一个查询语句,将子查询的结果作为外层查询的条件使用。
子查询的基本语法如下:SELECT column1, column2, ...FROM table_nameWHERE column1 IN (SELECT column1 FROM another_table);四、使用EXISTS子查询查询表除了常规的子查询外,Oracle数据库还支持EXISTS子查询。
EXISTS子查询是一种特殊的子查询,用来判断子查询中是否存在符合条件的数据,如果存在则返回TRUE,否则返回FALSE。
oracle数据库查询语句
SELECT [ALL | DISTINCT] [selec_columns | *] FROM table_name[WHERE search_condition][GROUP BY columns][HAVING search_condition][ORDER BY columns [ASC | DESC]](1)SELECT:查询关键字,用于选择查询的列。
(2)[ALL | DISTINCT]:用于标识查询结果集中相同数据的处理方式,all关键字表示显示查询到的所有数据,包括重复的行;DISTINCT关键字表示查询数据中的重复行只显示一次。
(3)selec_columns:表示要查询的列,列名之间使用逗号隔开,如果需要查询表中所有的列可直接用“*”表示。
(4)WHERE search_condition:指定查询操作的条件,只有符合条件的数据才会被查询出来。
(5)GROUP BY columns:用于设置分组查询的列。
(5)HAVING search_condition:用于设置分组的条件,需要与GROUP BY语句结合使用。
(6)ORDER BY columns [ASC | DESC]:用于指定结果集的排序方式,ASC为升序,DESC为降序,默认ASC升序。
1、基本查询2.条件语句查询3、模糊查询在实际应用中如果不能完全确定查询的条件,但是又了解这些条件的某些特征,就可以通过模糊查询来解决问题,在where子句中可以使用like或not like编写模糊查询的条件实现模糊查询需要用到两个通配符,分别为“%”与“_”(1)%:表示零个、一个或多个任意字符。
(2)_:表示一个任意字符。
4、排序查询如果希望对查询的结果进行排序,就需要使用order by子句,order by子句可以将查询的结果按照升序或者降序进行排列5、分组查询使用GROUP BY子句与HAVING子句实现,GROUP BY子句用于指定分组的列,HAVING语句用于指定分组的条件6、其他查询a、DISTINCT取消重复行b、列的别名7、子查询a、单行子查询执行数据库操作时,如果某个操作希望依赖于另外一个SELECT语句的查询结果,那么就可以在操作中嵌入SELECT语句,当查询操作中嵌入了SELECT语句后,就形成了一个子查询。
oracle数据库命令大全
更改用户密码
sql>alter user 管理员 identified by 密码;
创建表空间的数据文件
sql>create tablespace test datafile 'd:\oracle\binbo.dbf' size 10m;
创建用户
sql>create user 用户名 identified by 密码;
操作表结构数据库定义语言命令
(不记录在日志文件中)
create table建表
sql>create table test(name varchar2(20),age date,sex char(2));
sql>insert into test(name,age,sex) values('aa',sysdate,'男');
删除隐藏的列 SQL>alter table studen drop unused columns;
向表中加入约束 SQL>alter table studen add constraint pk primary key(stuno);
删除约束 SQL>alter table studen drop constraint pk;
打开监听器
lsnrctl start
关闭服务器
net stop OracleServiceORCL
关闭监听器 ຫໍສະໝຸດ lsnrctl stop 清屏
clear screen
数据字典 ===========desc user_views(关键词)
查看当前用户的角色
SQL>select * from user_role_privs;
oracle常用命令
--关闭数据库Oracle自动搜集功能alter system set "_optimizer_autostats_job"=false scope=spfile--修改表的默认表空间alter table 表名 move tablespace 表空间名;--修改索引表空间ALTER INDEX 索引名 REBUILD tablespace 表空间名;--修改LOB类型默认表空间ALTER TABLE SIGNATUREWORD MOVE LOB(IMAGE) STORE AS (TABLESPACE CZDJ);--创建数据表空间(表空间名称CZDJ,表空间文件大小1024M,数据文件满后自动扩展增量100MB,文件大小无限制)create tablespace CZDJ(表空间名)datafile 'd:\oracle\product\10.2.0\oradata\orcl\ CZDJ.dbf'(存放路径)size 1024m AUTOEXTEND ONNEXT 100m maxsize unlimited;--创建临时表空间create temporary tablespace dzdj31cz_temp (表空间名)tempfile 'd:\oracle\product\10.2.0\oradata\orcl\dzdj31cz_temp01.dbf'size 32Mautoextend onnext 32M maxsize 2048Mextent management local;本地管理表空间:extent management local字典管理表空间:extent management dictionary--修改表空间alter database datafile 'D:\oracle\product\10.2.0\oradata\orclzhaowei\test.dbf' resize 10m; alter database datafile 'D:\oracle\product\10.2.0\oradata\orclzhaowei\test.dbf' autoextend on next 50m maxsize unlimited;--创建用户并指定表空间create user 用户名 identified by 密码default tablespace 默认表空间temporary tablespace 临时表空间;--修改用户密码alter user 用户名 identified by 密码;--给表空间增加数据文件ALTER TABLESPACE sdeADD DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\sde01.dbf' size 20480M autoextend on next 50M maxsize unlimited;--给用户授予权限grant connect,dba,resource to 用户名--给用户解锁alter user username account unlock;--OraOLEDB.Oracle.1没有注册解决方法:regsvr32 D:\oracle\product\10.2.0\db_1\BIN\OraOLEDB10.dll--查询表空间状态select tablespace_name,status from dba_tablespaces;--表空间离线在线:离线的表空间无法访问,用于数据维护。
python对oracle数据库查询语句
python对oracle数据库查询语句Python是一种功能强大的编程语言,可以用于与Oracle数据库进行交互,并执行各种查询操作。
在本文中,我将列举10个Python 对Oracle数据库查询语句的示例,并详细解释每个查询的功能和使用方法。
1. 查询数据库版本信息```pythonimport cx_Oracle# 连接数据库conn = cx_Oracle.connect('username/password@hostname:port/servi ce_name')# 创建游标cursor = conn.cursor()# 执行查询cursor.execute("SELECT * FROM v$version")# 获取结果result = cursor.fetchone()print(result)# 关闭游标和连接cursor.close()conn.close()```以上代码通过查询`v$version`视图获取Oracle数据库的版本信息,并打印结果。
2. 查询表的结构信息```pythonimport cx_Oracle# 连接数据库conn = cx_Oracle.connect('username/password@hostname:port/servi ce_name')# 创建游标cursor = conn.cursor()# 执行查询cursor.execute("SELECT column_name, data_type FROM all_tab_columns WHERE table_name = 'table_name'")# 获取结果result = cursor.fetchall()for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()```以上代码通过查询`all_tab_columns`视图获取指定表的列名和数据类型信息,并打印结果。
Linux_oracle命令大全
Linux_oracle命令大全一,启动1.#su - oracle 切换到oracle用户且切换到它的环境2.$lsnrctl status 查看监听及数据库状态3.$lsnrctl start 启动监听4.$sqlplus / as sysdba 以DBA身份进入sqlplus5.SQL>startup 启动db二,停止1.#su - oracle 切换到oracle用户且切换到它的环境2.$lsnrctl stop 停止监听3.$sqlplus / as sysdba 以DBA身份进入sqlplus4.SQL>SHUTDOWN IMMEDIATE 关闭db其中startup和shutdowm还有其他一些可选参数,有兴趣可以另行查阅三,查看初始化参数及修改1.#su - oracle 切换到oracle用户且切换到它的环境2.$sqlplus / as sysdba 以DBA身份进入sqlplus3.SQL>show parameter session; 查看所接受的session数量###################################################### Oracle process与session2008年12月29日星期一15:47Connected to Oracle Database 10g Release 10.1.0.5.0Connected as ifsappSQL> show parameter sessionNAME TYPE V ALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1session_cached_cursors integer 0session_max_open_files integer 10sessions integer 225shared_server_sessions integerSQL> show parameters processes;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 200SQL> alter system set processes=600 scope=both;SQL>SQL> alter system set processes=600 scope=both;alter system set processes=600 scope=bothORA-02095: specified initialization parameter cannot be modified SQL> alter system set sessions=600 scope=both;alter system set sessions=600 scope=bothORA-02095: specified initialization parameter cannot be modified SQL>SQL> alter system set processes=600 scope=spfile;System alteredSQL> show parameters processes;NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 200SQL> alter system set processes=600 scope=memory;alter system set processes=600 scope=memoryORA-02095: specified initialization parameter cannot be modified重启数据库之后生效:SQL> show parameters processes;NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0db_writer_processes integer 1gcs_server_processes integer 0job_queue_processes integer 3log_archive_max_processes integer 2processes integer 600SQL> show parameter sessionNAME TYPE V ALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1session_cached_cursors integer 0session_max_open_files integer 10sessions integer 665shared_server_sessions integer修改Oracle process 和session 的方法先备份spfile1.通过SQLPlus修改Oracle的sessions和processes的关系是sessions=1.1*processes + 5使用sys,以sysdba权限登录:SQL> show parameter processes;NAME TYPE V ALUE------------------------------------ ----------- --------------------------------------- aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 10log_archive_max_processes integer 1processes integer 150SQL> alter system set processes=400 scope = spfile;系统已更改。
(完整版)ORACLE命令大全
ORACLE命令大全1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。
该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORK sql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNOENAME JOB ---------- ---------------------------------------- --------- 7369SMITH CLERK 7499ALLEN SALESMA 7521WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME---------- ---------------------------------------- --------- 7369SMITH CLERK 7499ALLEN SALESMA 7521WARD SALESM 对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1SQL> /DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 110010. 显示对BREAK的设置SQL> BREAK11. 删除6、7的设置SQL> CLEAR BREAKS12. Set 命令:该命令包含许多子命令:SET system_variable valuesystem_variable value 可以是如下的子句之一:APPI[NFO]{ON|OFF|text}ARRAY[SIZE] {15|n}AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}AUTOP[RINT] {ON|OFF}AUTORECOVERY [ON|OFF]AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]] BLO[CKTERMINATOR] {.|c}CMDS[EP] {;|c|ON|OFF}COLSEP {_|text}COM[PATIBILITY]{V7|V8|NATIVE}CON[CAT] {.|c|ON|OFF}COPYC[OMMIT] {0|n}COPYTYPECHECK {ON|OFF}DEF[INE] {&|c|ON|OFF}DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}] ECHO {ON|OFF}EDITF[ILE] file_name[.ext]EMB[EDDED] {ON|OFF}ESC[APE] {\|c|ON|OFF}FEED[BACK] {6|n|ON|OFF}FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}FLU[SH] {ON|OFF}HEA[DING] {ON|OFF}HEADS[EP] {||c|ON|OFF}INSTANCE [instance_path|LOCAL]LIN[ESIZE] {80|n}LOBOF[FSET] {n|1}LOGSOURCE [pathname]LONG {80|n}LONGC[HUNKSIZE] {80|n}MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]NEWP[AGE] {1|n|NONE}NULL textNUMF[ORMAT] formatNUM[WIDTH] {10|n}PAGES[IZE] {24|n}PAU[SE] {ON|OFF|text}RECSEP {WR[APPED]|EA[CH]|OFF}RECSEPCHAR {_|c}SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_ WRAPPED]|TRU[NCATED]}]SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}SHOW[MODE] {ON|OFF}SQLBL[ANKLINES] {ON|OFF}SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}SQLCO[NTINUE] {> |text}SQLN[UMBER] {ON|OFF}SQLPRE[FIX] {#|c}SQLP[ROMPT] {SQL>|text}SQLT[ERMINATOR] {;|c|ON|OFF}SUF[FIX] {SQL|text}TAB {ON|OFF}TERM[OUT] {ON|OFF}TI[ME] {ON|OFF}TIMI[NG] {ON|OFF}TRIM[OUT] {ON|OFF}TRIMS[POOL] {ON|OFF}UND[ERLINE] {-|c|ON|OFF}VER[IFY] {ON|OFF}WRA[P] {ON|OFF}1). 设置当前session是否对修改的数据进行自动提交SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句SQL> SET ECHO {ON|OFF}3).是否显示当前sql语句查询或修改的行数SQL> SET FEED[BACK] {6|n|ON|OFF}默认只有结果大于6行时才显示结果的行数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库命令速查Oracle数据库命令速查1. 日志管理1.1. 强制日志切换(forcing log switches)sql> alter system switch logfile;1.2. 强制执行检查点(forcing checkpoints)sql> alter system checkpoint;1.3. 增加一个重做日志组(adding online redo log groups)sql> alter database add logfile [group 4]sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;1.4. 增加一个重做日志文件(adding online redo log members)sql> alter database add logfile membersql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;1.5. 改变重做日志文件名(changes the name of the online redo logfile)sql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log'sql> to 'c:/oracle/oradata/redo01.log';1.6. 删除重做日志组(drop online redo log groups)sql> alter database drop logfile group 3;1.7. 删除重做日志文件(drop online redo log members)sql> alter database drop logfile member 'c:/oracle/oradata/redo01.log';1.8. 清空重做日志文件(clearing online redo log files)sql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo';1.9. 使用logminer分析重做日志文件(using logminer analyzing redo logfiles)a. in the init.ora specify utl_file_dir = ' 'b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log');c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log', sql> dbms_logmnr.new);d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log', sql> dbms_logmnr.addfile);e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora');f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters sql> v$logmnr_logs);g. sql> execute dbms_logmnr.end_logmnr;2. 表空间管理2.1. 创造表空间(create tablespaces)sql> create tablespace ts_name datafile 'c:\oracle\oradata\file1.dbf' size 100m , sql>'c:\oracle\oradata\file2.dbf' size 100m minimum extent 550k [logging/nologging]sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)sql> [online/offline] [permanent/temporary] [extent_management_clause]2.2. 创建本地管理的表空间(locally managed tablespace)sql> create tablespace user_data datafile 'c:\oracle\oradata\user_data01.dbf' sql> size 500m extent management local uniform size 10m;2.3. 创建临时表空间(temporary tablespace)sql> create temporary tablespace temp tempfile 'c:\oracle\oradata\temp01.dbf' sql> size 500m extent management local uniform size 10m;2.4. 改变表空间的存储参数(change the storage setting)sql> alter tablespace app_data minimum extent 2m;sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999);2.5. 使表空间离线或连线(taking tablespace offline or online)sql> alter tablespace app_data offline;sql> alter tablespace app_data online;2.6. 设置表空间为只读/可写模式(read_only tablespace)sql> alter tablespace app_data read only|write;2.7. 删除表空间(droping tablespace)sql> drop tablespace app_data including contents;2.8. 允许数据文件自动扩展(enableing automatic extension of data files)sql> alter tablespace app_data add datafile 'c:\oracle\oradata\app_data01.dbf' size 200msql> autoextend on next 10m maxsize 500m;2.9. 手工改变数据文件的大小(change the size fo data files manually)sql> alter database datafile 'c:\oracle\oradata\app_data.dbf' resize 200m;2.10. 改名表空间中的数据文件(Moving data files: alter tablespace)sql> alter tablespace app_data rename datafile 'c:\oracle\oradata\app_data.dbf sql> to 'c:\oracle\app_data.dbf';2.11. 改变数据库中的数据文件(moving data files:alter database)sql> alter database rename file 'c:\oracle\oradata\app_data.dbf' to 'c:\oracle\app_data.dbf';3. 表3.1. 创建表(create a table)sql> create table table_name (column datatype,column datatype]....)sql> tablespace tablespace_name [pctfree integer] [pctused integer]sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextents 50)sql> [logging|nologging] [cache|nocache]3.2. 复制一个已存在的表(copy an existing table)sql> create table table_name [logging|nologging] as subquery3.3. 创建一个临时表(create temporary table)sql> create global temporary table xay_temp as select * from xay;on commit preserve rows/on commit delete rows3.4. pctfree和pctused参数计算公式pctfree = (average row size - initial row size) *100 /average row sizepctused = 100-pctfree- (average row size*100/available data space)这是标准的计算公式。
PCTFREE:指定表内每个数据块中空间的百分比。