-- 创建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,'301','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;