oracle基本SQL语句(精华版1)(2)

2019-03-22 09:01

查询数据库中各种错误代码的总和:

select error_code,count(*) from sm_histable0513 group by error_code order by error_code;

查询报表数据库中话单统计种类查询。

select sum(Successcount) from tbl_MiddleMt0411 where ServiceType2=111 select sum(successcount),servicetype from tbl_middlemt0411 group by servicetype

oracle常用SQL语句

1、连接SQL*Plus system/manager 2、显示当前连接用户SQL> show user

3、查看系统拥有哪些用户SQL> select * from all_users;

4、新建用户并授权SQL> create user a identified by a;(默认建在SYSTEM表空间下)SQL> grant connect,resource to a;

5、连接到新用户SQL> conn a/a

6、查询当前用户下所有对象SQL> select * from tab; 7、建立第一个表SQL> create table a(a number); 8、查询表结构SQL> desc a

9、插入新记录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;

--------------------------------------------------------------- ----------------------------------------------------------------

用户授权:GRANT ALTER ANY INDEX TO \\\\TO \\USER \\DEFAULT ROLE ALL创建用户:CREATE USER \\PROFILE \\IDENTIFIED BY \DEFAULT TABLESPACE \\TEMPORARY TABLESPACE \用户密码设定:ALTER USER \\IDENTIFIED BY \\表空间创建:CREATE TABLESPACE \\LOGGING DATAFILE 'C:\\ORACLE\\ORADATA\\dbs\\table_space.ora' SIZE 5M ------------------------------------------------------------------------ 1、查看当前所有对象 SQL > select * from tab;

2、建一个和a表结构一样的空表

SQL > create table b as select * from a where 1=2;

SQL > create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2; 3、察看数据库的大小,和空间使用情况

SQL > col tablespace format a20SQL > select b.file_id 文件ID, b.tablespace_name 表空间, b.file_name 物理文件名, b.bytes 总字节数,

(b.bytes-sum(nvl(a.bytes,0))) 已使用, sum(nvl(a.bytes,0)) 剩余, sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_name,b.file_id,b.bytes order by b.tablespace_name / dba_free_space --表空间剩余空间状况 dba_data_files --数据文件空间占用情况 4、查看现有回滚段及其状态 SQL > col segment format a30SQL > SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS; 5、查看数据文件放置的路径

SQL > col file_name format a50SQL > select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; 6、显示当前连接用户 SQL > show user

7、把SQL*Plus当计算器 SQL > select 100*20 from dual; 8、连接字符串

SQL > select 列1 | |列2 from 表1;SQL > select concat(列1,列2) from 表1; 9、查询当前日期

SQL > select to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual; 10、用户间复制数据

SQL > copy from user1 to user2 create table2 using select * from table1; 11、视图中不能使用order by,但可用group by代替来达到排序目的 SQL > create view a as select b1,b2 from b group by b1,b2; 12、通过授权的方式来创建用户

SQL > grant connect,resource to test identified by test; SQL > conn test/test

13、查出当前用户所有表名。 select unique tname from col;

-----------------------------------------------------------------------

/* 向一个表格添加字段 */alter table alist_table add address varchar2(100);

/* 修改字段 属性 字段为空 */alter table alist_table modify address varchar2(80);

/* 修改字段名字 */create table alist_table_copy as select ID,NAME,PHONE,EMAIL,QQ as QQ2, /*qq 改为qq2*/ADDRESS from alist_table;

drop table alist_table;rename alist_table_copy to alist_table/* 修改表名 */

空值处理有时要求列值不能为空create table dept (deptno number(2) not null, dname char(14), loc char(13));

在基表中增加一列alter table deptadd (headcnt number(3));

修改已有列属性alter table deptmodify dname char(20);注:只有当某列所有值都为空时,才能减小其列值宽度。只有当某列所有值都为空时,才能改变其列值类型。只有当某列所有值都为不空时,才能定义该列为not null。例:alter table dept modify (loc char(12));alter table dept modify loc char(12);alter table dept modify (dname char(13),loc char(12));

查找未断连接select process,osuser,username,machine,logon_time ,sql_textfrom v$session a,v$sqltext b where a.sql_address=b.address;

-----------------------------------------------------------------1.以USER_开始的数据字典视图包含当前用户所拥有的信息, 查询当前用户所拥有的表信息:select * from user_tables;2.以ALL_开始的数据字典视图包含ORACLE用户所拥有的信息,查询用户拥有或有权访问的所有表信息:select * from all_tables;

3.以DBA_开始的视图一般只有ORACLE数据库管理员可以访问:select * from dba_tables; 4.查询ORACLE用户:conn sys/change_on_installselect * from dba_users;conn system/manager;select * from all_users; 5.创建数据库用户:CREATE USER user_name IDENTIFIED BY password;GRANT CONNECT TO user_name;GRANT RESOURCE TO user_name;授权的格式: grant (权限) on tablename to username;删除用户(或表):drop user(table) username(tablename) (cascade);6.向建好的用户导入数据表IMP SYSTEM/MANAGER FROMUSER = FUSER_NAME TOUSER = USER_NAME FILE = C:\\EXPDAT.DMP COMMIT = Y7.索引create index [index_name] on [table_name]( \运算 返回查询结果中相同的部分

exp:各个部门中有哪些相同的工种 selectjob fromaccount intersect selectjob fromresearch intersect selectjob fromsales;

minus运算

返回在第一个查询结果中与第二个查询结果不相同的那部分行记录。 有哪些工种在财会部中有,而在销售部中没有? exp:selectjobfromaccount minus

selectjobfromsales;

1. oracle安装完成后的初始口令? internal/oracle

sys/change_on_install system/manager scott/tiger

sysman/oem_temp

2. oracle9ias web cache的初始默认用户和密码? administrator/administrator

3. oracle 8.0.5怎么创建数据库?

用orainst。假如有motif界面,可以用orainst /m

4. oracle 8.1.7怎么创建数据库?

dbassist

5. oracle 9i 怎么创建数据库? dbca

6. oracle中的裸设备指的是什么?

裸设备就是绕过文件系统直接访问的储存空间

7. oracle如何区分 64-bit/32bit 版本??? $ sqlplus '/ as sysdba'

sql*plus: release 9.0.1.0.0 - production on mon jul 14 17:01:09 2003 (c) copyright 2001 oracle corporation. all rights reserved. connected to:

oracle9i enterprise edition release 9.0.1.0.0 - production with the partitioning option

jserver release 9.0.1.0.0 - production sql> select * from v$version; banner

---------------------------------------------------------------- oracle9i enterprise edition release 9.0.1.0.0 - production pl/sql release 9.0.1.0.0 - production core 9.0.1.0.0 production

tns for solaris: version 9.0.1.0.0 - production nlsrtl version 9.0.1.0.0 - production sql>

8. svrmgr什么意思? svrmgrl,server manager.

9i下没有,已经改为用sqlplus了 sqlplus /nolog

变为归档日志型的

9. 请问如何分辨某个用户是从哪台机器登陆oracle的? select machine , terminal from v$session;

10. 用什么语句查询字段呢?

desc table_name 可以查询表的结构

select field_name,... from ... 可以查询字段的值 select * from all_tables where table_name like '%' select * from all_tab_columns where table_name='??'

11. 怎样得到触发器、过程、函数的创建脚本? desc user_source user_triggers

12. 怎样计算一个表占用的空间的大小? select owner,table_name, num_rows,

blocks*aaa/1024/1024 \ empty_blocks, last_analyzed from dba_tables

where table_name='xxx';

here: aaa is the value of db_block_size ; xxx is the table name you want to check

13. 如何查看最大会话数?

select * from v$parameter where name like 'proc%'; sql>

sql> show parameter processes name type value

------------------------------------ ------- ------------------------------ aq_tm_processes integer 1 db_writer_processes integer 1 job_queue_processes integer 4

log_archive_max_processes integer 1 processes integer 200 这里为200个用户。 select * from v$license;

其中sessions_highwater纪录曾经到达的最大会话数

14. 如何查看系统被锁的事务时间? select * from v$locked_object ;

15. 如何以archivelog的方式运行oracle。 init.ora

log_archive_start = true restart database

16. 怎么获取有哪些用户在使用数据库 select username from v$session;

17. 数据表中的字段最大数是多少? 表或视图中的最大列数为 1000

18. 怎样查得数据库的sid ? select name from v$database; 也可以直接查看 init.ora文件


oracle基本SQL语句(精华版1)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018-2019年锦州市数学中考数学押题试卷(2套)附答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: