`

Oracle CRUD

阅读更多
各种常用oralce语句

查看ORACLE版本
SQL> SELECT * FROM V$VERSION;

查看本地数据库名:
SQL> select name from v$database;

查看表空间
SQL> SELECT * FROM V$tablespace;

设置输出的行宽
SQL> set linesize 100;

设置输出的分页大小
SQL> set pagesize 20000;

查看用户的某个对象的类型:
SELECT object_name, object_type FROM user_objects WHERE object_name = '对象名'

查看/设置本机字符集(导入乱码时可通过查看本机字符集和数据源字符集是否相同,来确定是否是因为字符集的原因导致乱码的发生;再通过设置本机字符集和数据源字符集相同,来解决乱码问题):
---查看字符集
select * from nls_database_parameters where parameter in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

---设置机器字符集
SHUTDOWN   IMMEDIATE;       
STARTUP   MOUNT;   
ALTER   SYSTEM   ENABLE   RESTRICTED   SESSION;   
ALTER   SYSTEM   SET   JOB_QUEUE_PROCESSES=0;   
ALTER   DATABASE   OPEN;   
alter database character set INTERNAL_USE ZHS16GBK;  --这个是字体集名称
SHUTDOWN   IMMEDIATE;         
STARTUP;



给用户解锁:
SQL>alter user scott account unlock;

取得ORACLE当前连接的登陆用户名
SQL>select user from dual;
SQL>show user;

查看所有的用户
SQL> SELECT USERNAME FROM DBA_USERS;

查看数据库内的所有角色  
selec * from dba_roles;

查看所有角色所拥有的系统级权限:
select * from role_sys_privs

查看所有角色所拥有的表级权限:
select * from role_tab_privs;

查询 Oracle 当前登录用户权限
SQL> select * from user_sys_privs;

查询 Oracle 当前登录用户角色
select * from user_role_privs;

查看系统中所有被授予的角色(角色也可能授予给角色,这里包括授予给用户和角色的):
select * from dba_role_privs;

查看系统中所有被授予的系统权限(包括授予给用户和角色的):
select * from dba_sys_privs;

查看系统中所有被授予的表级权限(包括授予给用户和角色的):
select * from dba_tab_privs;



查看数据库当前所有session:
SELECT * FROM v$session

kill session(sid,serial#均为v$session中字段):
alter system kill session 'sid,serial#';

查询数据库中当前哪些对象被锁定(通过OBJECT_ID字段查看all_objects视图得到锁定对象的具体信息;通过SESSION_ID字段查看v$session视图得到锁定该对象的session的具体信息):
select * from V$LOCKED_OBJECT

查看数据库中哪些session在等待中:
SELECT * FROM v$session_wait;

解锁数据库中被锁定的对象:
select OBJECT_ID,SESSION_ID,os_user_name from v$locked_object:
SELECT * from all_objects where object_id = <OBJECT_ID>; (查看锁定的哪个Object)
select SID,SERIAL# from v$session where sid = <SESSION_ID>; (查看被哪个session锁定)
alter system kill session '<SID>,<SERIAL#>'; (结束该session,则锁解之)



查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列等。
SQL> select object_name from user_objects;

查询当前用户拥有哪些表
SQL> select table_name from user_tables;

查询当前用户拥有哪些视图
SQL> select view_name from user_views;

查询当前用户拥有哪些触发器
SQL> select trigger_name from user_triggers;

查询当前用户拥有哪些序列
SQL> select sequence_name from user_sequences;




查看已定义的触发器、存储过程等的内容
SQL> select * from user_source;
SQL> select text from user_source;




删除主键:
1 对没有名字的主键约束:
alter table usertest drop primary key;

2 对有名字的主键约束可以这样:
  a 查出主键约束的名字
SELECT * from user_cons_columns where table_name='usertest';

  b 取消主键约束(假设主键constraint的名字叫USERTEST_PK)
alter table usertest drop constraint USERTEST_PK;




创建主键
ALTER TABLE students
  ADD CONSTRAINT pk_students 
  PRIMARY KEY (student_id) USING INDEX ;

创建Unique约束
ALTER TABLE students
  ADD CONSTRAINT uk_students_license 
  UNIQUE (state, license_no) USING INDEX ;

创建Check约束
ALTER TABLE students ADD CONSTRAINT ck_students_st_lic
   CHECK ((state IS NULL AND license_no IS NULL) OR
          (state IS NOT NULL AND license_no is NOT NULL));

创建外键约束
ALTER TABLE students
  ADD CONSTRAINT fk_students_state
  FOREIGN KEY (state) REFERENCES state_lookup (state);




查看对象的DDL定义:
SELECT DBMS_METADATA.get_ddl('对象类型','对象名称') FROM DUAL;

对象类型为TABLE/TRIGGER/VIEW/PACHAGE/PROCEDURE等用户ojbect;对象名称为须查看其DDL定义的表/触发器/视图/包/存储过程等某对象的名字;注意get_ddl方法的两个参数必须都为大写,否则会报ORA-31603或ORA-31600。
例子:
---查看存储过程定义:
SELECT dbms_metadata.get_ddl('PROCEDURE','LOAD2160PO') FROM dual;
---查看包及包中存储过程定义:
SELECT DBMS_METADATA.get_ddl('PACKAGE','PLODEMAND') FROM DUAL;




修改表名:
ALTER TABLE <TABLE_NAME> RENAME TO  <NEW_TABLE_NAME>

修改列名:
ALTER TABLE <TABLE_NAME> RENAME COLUMN <COL_NAME> TO <NEW_COL_NAME>

注意:rename只能修改自己schema下面的表
分享到:
评论

相关推荐

    oracle 数据库SQL语句及CRUD操作.PPT

    很强大,北交大研究生导师整理的数据库资料。

    CRUD.zip_crud servlet oracle_jsp crud_oracle_oracle jsp crud

    【标题】"CRUD.zip" 是一个包含CRUD(创建、读取、更新、删除)功能的项目,基于Servlet和JSP技术,并使用Oracle数据库。这个项目采用了DAO(数据访问对象)模式,以及实体类来实现对Oracle数据库的CRUD操作。 ...

    ssmCrudOracleDemo

    这个"ssmCrudOracleDemo"项目旨在帮助初学者了解如何使用SSM来实现对Oracle数据库的CRUD(创建、读取、更新、删除)操作。下面将详细解释相关知识点。 1. **Spring框架**:Spring是一个全面的企业级应用开发框架,...

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    使用 Spring JdbcTemplate 调用 Oracle 存储过程实现 CRUD 在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储...

    Myeclipse Oracle9i hibernate3.2 Spring2.5 Struts2简单示例

    自己做的一个Myeclipse Oracle9i hibernate3.2 Spring2.5 Struts2, 包删除了, 自己在myeclipse里添加就行了, 已经调试成功. 建表语句: create table CUSTOMER ( ID INTEGER not null, USERNAME VARCHAR2(12), ...

    Java连接Oracle

    然后,你就可以创建一个新的Java类,实例化`OracleCRUD`并调用相应的方法进行数据库操作了。 最后,需要注意的是,尽管上述代码提供了一个基本的框架,但在实际应用中,你需要考虑更多的细节,如异常处理、事务管理...

    SpringMVC+Spring+Hibernate+Oracle 实现图书管理(CRUD)

    在这个案例中,"SpringMVC+Spring+Hibernate+Oracle 实现图书管理(CRUD)"是一个使用了四大主流Java技术栈的项目,分别是SpringMVC作为前端控制器、Spring作为应用层框架、Hibernate作为持久层框架,以及Oracle作为...

    idea采用ssm+oracle+crud demo(class-student-teacher)

    在这个"idea采用ssm+oracle+crud demo(class-student-teacher)"项目中,开发者使用了这些技术来实现一个简单的教务管理系统,涉及到学生(Student)、班级(Class)和教师(Teacher)三个实体对象的CRUD(创建、...

    SSM整和Oracle实现简单CRUD

    在这个项目中,我们将集成Oracle数据库来实现基本的CRUD(Create、Read、Update、Delete)操作。Oracle是全球广泛使用的商业关系型数据库管理系统,以其高性能、高可靠性而著称。 首先,我们需要配置SSM框架。...

    SSH整合Oracle,CRUD实例(xml配置版)

    SSH整合Oracle,CRUD实例(xml配置版)。包含了基本的增删改查。适合SSH初学者。 https://blog.csdn.net/qq_35206244/article/details/81367316

    适合初学者的SSH项目(CRUD、Oracle、Date)

    这个"适合初学者的SSH项目"旨在帮助新手掌握这些技术的基础和实践应用,尤其是涉及到CRUD操作(创建、读取、更新、删除)、Oracle数据库的使用以及Date数据类型的处理。 首先,CRUD是数据库操作的基本动作。在...

    CrudOracleMVC-VS2019:Visual Studio 2019中的Crud con Oracle bajo el patron MVC realizado

    《基于Visual Studio 2019的Oracle CRUD操作——MVC模式实现详解》 在现代软件开发中,CRUD(创建、读取、更新、删除)是数据库操作的基础,而Model-View-Controller(MVC)模式则是一种广泛应用的软件设计模式,...

    java调用oracle存储过程实现增删改查

    本文将详细介绍如何在Java中实现对Oracle存储过程的调用,以执行增删改查(CRUD)操作。 首先,确保你已安装了Oracle JDBC驱动(如ojdbc.jar),并将它添加到Java项目的类路径中。Oracle JDBC驱动提供了与Oracle...

    Oracle 中表的基本增删改查(CRUD)操作

    Oracle 中表的基本增删改查(CRUD)操作

    OracleHelper oracle数据库访问 多种方式 可靠 强大

    通过OracleHelper,开发者可以轻松地将实体对象与Oracle数据库表进行映射,实现数据的CRUD操作。 在事务处理上,OracleHelper可能提供了一套完善的事务管理机制,允许开发者在多条数据库操作之间保持原子性和一致性...

    SpringMVC+Spring+Mybatis+Oracle 实现HR管理(CRUD)

    SSMHR是一个基于SpringMVC、Spring和Mybatis的Oracle数据库驱动的人力资源管理系统,用于实现CRUD(创建、读取、更新、删除)操作。这个项目的核心是整合这三个技术来构建一个高效、灵活的后端框架,适用于企业级...

    我做过的简单的CRUD

    在商品CRUD应用中,Oracle9i存储商品的元数据,如商品ID、名称、价格等。Hibernate与Oracle9i的交互通常通过JDBC(Java Database Connectivity)接口完成,提供了一种标准的方式来连接和操作数据库。 这个项目中的...

    Oracle课程设计 Oracle项目实例 Oracle编程

    SQL的基本操作如CRUD(创建、读取、更新、删除)是每个Oracle开发者必须熟练掌握的。此外,还将涉及表的创建、索引、视图、存储过程、触发器以及事务管理等主题,这些都是构建高效数据库应用程序的基础。 在Oracle...

    VB实现的CRUD例子

    “ADO”代表ActiveX Data Objects,这是微软提供的一个数据库访问接口,允许开发者通过VB等语言与各种数据库系统进行交互,比如SQL Server、Oracle等。标签中的“增删改查”再次强调了这个项目的核心功能。 在...

Global site tag (gtag.js) - Google Analytics