Oracle常用查询

-- 创建ORACLE SEQUENCE
CREATE SEQUENCE SEQ_TEST
MINVALUE 1
MAXVALUE 9999999999999999999999999999
START WITH 1
INCREMENT BY 1
NOCYCLE --达到最大值后不循环
CACHE 50 --缓存 提高性能 -- 查询SEQUENCE
SELECT SEQ_TEST.NEXTVAL FROM DUAL;
SELECT SEQ_TEST.CURRVALFROM DUAL; -- 表重命名
RENAME TEST1 TO TEST2; -- 增加字段
ALTER TABLE TEST2 ADD ADDRESS VARCHAR2(40);
ALTER TABLE TEST2 ADD NOTE VARCHAR2(40); -- 查看表结构
SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TEST2';
SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME='CLASSES'; -- 删除表
DROP TABLE CLASSES -- 插入数据
INSERT INTO TEST2 VALUES(1,'','4#4','CE'); -- 查询数据
SELECT * FROM TEST2; --删除数据
DELETE FROM TEST2 WHERE ID=5; -- 查询数据库的启动模式,在SYSDBA角色中使用
SELECT OPEN_MODE FROM V$DATABASE; -- 查询控制文件
SELECT NAME FROM V$CONTROLFILE; -- 查询SGA情况
SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC -- 查询有哪些数据库实例在运行
SELECT INST_NAME FROM V$ACTIVE_INSTANCES; -- 查看连接数,修改连接数
SHOW PARAMETER PROCESSES;
ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE; -- 查询数据库当前进程的连接数:
SELECT COUNT(*) FROM V$PROCESS; -- 查看数据库当前会话的连接数:
SELECT COUNT(*) FROM V$SESSION; -- 查看数据库的并发连接数:
SELECT COUNT(*) FROM V$SESSION WHERE STATUS='ACTIVE'; -- 查看当前数据库建立的会话情况:
SELECT SID,SERIAL#,USERNAME,PROGRAM,MACHINE,STATUS FROM V$SESSION; -- 查询数据库允许的最大连接数:
SELECT VALUE FROM V$PARAMETER WHERE NAME = 'PROCESSES'; -- 查看最近执行的SQL语句
SELECT * FROM V$SQL -- 查看最近所作的操作
SELECT * FROM V$SQLAREA --查询当前数据库的名称
SELECT NAME FROM V$DATABASE; -- 查询当前实例名
SELECT INSTANCE_NAME FROM V$INSTANCE; -- 创建用户并设置密码
ALTER USER TEST IDENTIFIED BY 123456; -- 给用户授权
GRANT CREATE SESSION,CREATE TABLE,UNLIMITED TABLESPACE TO TEST; -- 创建表空间
--WINDOWS:
CREATE TABLESPACE ABC DATAFILE 'G:\DB\DATA\TBSP\ABC.DBF' SIZE 3000M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
CREATE TEMPORARY TABLESPACE ABC_TMP TEMPFILE 'G:\DB\DATA\TBSP\ABC_TMP.DBF' SIZE 1000M AUTOEXTEND ON;
--LINUX:
CREATE TABLESPACE ABC DATAFILE '/VAR/ORACLE/USER01/ORADATA/ABC.DBF' SIZE 30000M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
CREATE TEMPORARY TABLESPACE ABC_TEMP TEMPFILE '/VAR/ORACLE/USER01/ORADATA/ABC_TEMP_01.DBF' SIZE 1000M AUTOEXTEND ON; -- 将表空间分配给用户
ALTER USER TEST DEFAULT TABLESPACE DATA_TEST; -- 查询数据库信息
SELECT BANNER FROM SYS.V_$VERSION; -- 查询表名注释
SELECT B.COMMENTS AS 注释 FROMUSER_TAB_COMMENTS B WHERE B.TABLE_NAME='TEST' -- 查询全部数据表结构
SELECT*FROM USER_TAB_COLUMNS WHERE TABLE_NAME = UPPER('TEST'); -- 查询一个用户下的表
SELECT COUNT(*) FROM USER_TABLES;
SELECT COUNT(0) FROM DBA_OBJECTS WHERE OWNER = 'TEST' AND OBJECT_TYPE IN ('TABLE','VIEW') GROUP BY OBJECT_TYPE -- 创建视图
CREATE VIEW V_ABC AS
SELECT * FROM ABC WHERE ROWNUM <100
SELECT * FROM V_ABC
-- 新建视图用户 VIEW_01 并赋予SELECT_CATALOG_ROLE角色 和 改视图的SELECT权限 ,在SYSTEM PRIVILEGE中需要CREATE SESSION权限用于登录
-- 登录 VIEW_01 用户 并查询U1用户的视图
SELECT * FROM U1.V_ABC --查询主键
SELECT COL.COLUMN_NAME
FROM USER_CONSTRAINTS CON, USER_CONS_COLUMNS COL
WHERE CON.CONSTRAINT_NAME = COL.CONSTRAINT_NAME
AND CON.CONSTRAINT_TYPE = 'P'
AND COL.TABLE_NAME = 'TEST';--数据表名要大写 --导出、导入数据库
EXP USER01/PWD@ORCL FILE=/HOME/ORACLE/USER01.DMP FULL=Y
EXP USER01/PWD@ORCL FILE=/HOME/ORACLE/USER01.DMP OWNER=USER01
IMP GCSJ/PWD FILE=GCSJ.DMP FULL=Y --1、 将数据库TEST完全导出,用户名SYSTEM 密码MANAGER 导出到D:\DAOCHU.DMP中
EXP SYSTEM/MANAGER@TEST FILE=D:\DAOCHU.DMP FULL=Y
--2、 将数据库中SYSTEM用户与SYS用户的表导出
EXP SYSTEM/MANAGER@TEST FILE=D:TEST1.DMP OWNER=(TEST1,TEST2) --查询表空间文件和表空间名。
SELECT FILE_NAME,TABLESPACE_NAME FROM DBA_DATA_FILES; --三表关联查询
SELECT C.PPP, A.WDD, B.AWD
FROM TEST1 A
JOIN TEST2 B ON A.ID = B.ID
AND ID = 1
JOIN TEST3 C ON B.CCC = C.CCC;
上一篇:Android中的Service小结


下一篇:如何判断app的页面是原生的还是H5的webview页面