## 连接数据库:

sqlplus test/test##@localhost:/ORCL

## 查询数据库所有的表:

select table_name from user_tables;

## 查询数据库表的字段名:

desc 表名;

## 设置oracle 客户端的字符集:

  • Unix操作:
## 中文字符集
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"; ## unicode字符集
export NLS_LANG=american_america.AL32UTF8 也可以编辑 bash_profile 文件进行永久设置:
vi .bash_profile NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
## 使 bash_profile 设置生效
source .bash_profile
  • Window操作:
## 中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK ## unicode字符集
set NLS_LANG=american_america.AL32UTF8 也可以通过修改注册表键值永久设置 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMExx/NLS_LANG

## 查看oracle 客户端的字符集:

  • Unix操作:
## 查看NLS_LANG
env|grep NLS_LANG

## 修改oracle 服务端的字符集:

## oracle 服务端字符集查询
SQL>select userenv('language') from dual; ## oracle 服务端字符集修改 .管理员身份登录。
sqlplus /nolog
SQL>conn /as sysdba .执行以下操作语句,关闭数据库,修改设置。
SQL>shutdown immediate;
SQL>startup mount
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=; .开启修改后的数据库,修改字符集为ZHS16GBK。
SQL>alter database open;
SQL>ALTER DATABASE character set INTERNAL_USE ZHS16GBK; .修改成功,重启数据库,查看当前的字符集。
SQL>shutdown immediate;
SQL>startup
SQL>select userenv('language') from dual;

## 导出数据表的insert语句

set head off
set heading off
set termout off
set feedback off
set term off
set echo off
set line
set pagesize ;
spool test.sql;
select 'insert into test(ID,NAME,SEX) values('||''''||ID||''''||','||''''||NAME||''''||','||''''||SEX||''''||');' from test;
select 'commit;' from dual;
spool off;

## 查询数据库的实例名

方法一:select instance_name from v$instance;
方法二:show parameter instance

########################################################################################

## 查询数据库的下的全部函数

select object_name from user_objects where object_type='FUNCTION';

## 查看函数内容,引号内的函数名大写

select text from user_source where name='函数名';

## 查询数据库用户下的全部函数

SELECT * FROM dba_objects WHERE object_type='FUNCTION'and owner='用户名';

## 查看用户下函数内容

SELECT dbms_lob.substr(DBMS_METADATA.GET_DDL('FUNCTION', '函数名', '用户名')) FROM dual;

## 创建函数

create or replace function 函数名 函数内容

########################################################################################

## 设置主键自增,创建序列

create sequence TEST_SEQUENCE
minvalue
maxvalue
start with
increment by
cache ; CREATE SEQUENCE seqTest
INCREMENT BY
start with
NOMAXvalue
NOCYCLE
NOCACHE;

## 创建触发器

CREATE OR REPLACE TRIGGER test_tri
BEFORE INSERT ON test
FOR EACH ROW WHEN(new.id IS NULL)
BEGIN
select seqTest.nextval into :new.id from dual;
END;

## 创建表

drop table test;
create table test(
ID varchar2(),
stu_name varchar2(),
CONSTRAINTS test_id PRIMARY KEY(ID)
);

## 查询所有触发器

select * from user_triggers;

## 查询所有序列

select * from user_sequences;

## 删除触发器

DROP TRIGGER test_tri;

## 删除序列

DROP SEQUENCE seqTest;

## 查询序列当前值

select seqTest.currval from dual;

## 查询序列下一个值

select seqTest.nextval from dual;

########################################################################################

## 数据表添加字段

alter table test add my_name varchar2() 

## 数据表删除字段

alter table test drop column my_name

## 修改数据表结构

alter table test modify stu_name varchar2();

########################################################################################

## 字符串和时间转换

-- 字符串转日期
SELECT to_date('20170531','yyyy/mm/dd') FROM DUAL;
SELECT to_date('2019-03-21 00:00:00','yyyy-MM-dd HH24:mi:ss') FROM DUAL;
SELECT to_timestamp('20160112 10:00:00', 'yyyymmdd HH:mi:ss') FROM DUAL; -- 日期转字符串:
SELECT to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') FROM DUAL;
SELECT to_char(sysdate,'YYYY"年"MM"月"DD"日"') FROM DUAL;

例子:

-- 查询某时间段的日志信息
SELECT * FROM ACTION_LOG
WHERE
LOG_TIME BETWEEN to_date ('2019-03-21 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
AND to_date ('2019-03-21 23:59:59', 'yyyy-mm-dd hh24:mi:ss');

oracle数据库之操作总结的更多相关文章

  1. ORACLE数据库误操作执行了DELETE,该如何恢复数据?

    ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...

  2. eclipse利用sql语句对Oracle数据库进行操作

    对Oracle数据库执行操作的sql语句中表名和列名都需用英文双引号("")括起来. 注(\为转义符) 1.插入数据 sql = "insert into \" ...

  3. Oracle 数据库简单操作

    现在大型企业一般都用Oracle数据库,Oracle数据库在一般采用expdp,impdp 导出导入数据,但是在操作中经常会遇到一些问题.下面来浅析这些问题. 1. 导出数据 一般导出数据的时候需要建 ...

  4. ADO.Net对Oracle数据库的操作【转载】

    一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC).数据访问对象(DAO).远程数据对象 (RDO). ActiveX数据对象(ADO).我们今天主要要学习A ...

  5. Oracle 数据库常用操作语句大全

    一.Oracle数据库操作 1.创建数据库      create database databasename 2.删除数据库      drop database dbname 3.备份数据库 完全 ...

  6. 【转】ADO.Net对Oracle数据库的操作

    一 ADO.Net简介 [转自网络,收藏学习] 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC). 数据访问对象(DAO).远程数据对象(RDO). ActiveX数据对象(ADO ...

  7. python对oracle数据库的操作

    1          Oracle数据库 1.1       Oracle环境配置&客户端连接 1.1.1          下载安装Oracle绿色版客户端instantclient: 到o ...

  8. oracle数据库简单操作

    导入某用户所有表和数据:imp sgp/sgp@192.168.0.99:1521/orcl file=sgp20161025.dmp full=y 导出指定表及数据:exp sgp/sgp@192. ...

  9. Oracle数据库一些操作信息

    Oracle数据库如何查看当前用户角色权限及默认表空间查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间以及用户和默认表空间的关系等--查看用户的角色权限1.查看当前用户拥有的角色权限信息 ...

  10. jmeter实现对Oracle数据库的操作

    实现目的 有时候,根据业务需要,可能需要直接对数据库进行性能测试,此时可利用jmeter对Oracle.MySQL等数据库进行相关测试. 脚本实现 添加JDBC Connection Configur ...

随机推荐

  1. Python 两个list合并成一个字典

    方法一:list1 = ['k1','k2','k3'] list2 = ['v1','v2','v3'] dic = dict(map(lambda x,y:[x,y],list1,list2)) ...

  2. 在vue中子组件修改props引发的对js深拷贝和浅拷贝的思考

    不管是react还是vue,父级组件与子组件的通信都是通过props来实现的,在vue中父组件的props遵循的是单向数据流,用官方的话说就是,父级的props的更新会向下流动到子组件中,反之则不行. ...

  3. setInterval和setTimeout的区别以及setInterval越来越快问题的解决方法

    setInterval()和setTimeout()方法都是js原生的定时方法,当然它们两个的作用也是不同的,并且最近在做上下滚动公告栏的时候,发现了setInterval()非常令人抓狂的问题,那就 ...

  4. jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

    1.表单验证插件——validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:   $(form).validate({o ...

  5. JavaScript try-catch语句(错误处理)

    错误处理在处理程序设计中的重要性是毋庸置疑的,任何有影响力的web应用程序都需要一套完善的错误处理机制.当然,大多数佼佼者确实做到了这一点,但通常只有服务器端应用程序才能做到如此.实际上,服务器端团队 ...

  6. ubuntu命令行编译opencv c++项目

    ubuntu终端编译opencv c++项目: g++ test.cpp `pkg-config opencv --libs --cflags opencv` -o test

  7. exim CVE-2017-16943 uaf漏洞分析

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 这是最近爆出来的 exim 的一个 uaf 漏洞,可以进行远程代码 ...

  8. java jvm概述及工作过程中的内存管理

    java jvm 有分层的思想.   java类..java文件,源文件,源代码,源程序   编译器不能把源代码直接编译成0101,除非是java语言写的操作系统.   windows认识的可执行文件 ...

  9. [转]用python爬虫抓站的一些技巧总结 zz

    来源网站:http://www.pythonclub.org/python-network-application/observer-spider 学用python也有3个多月了,用得最多的还是各类爬 ...

  10. Vue2学习笔记:class和style

    1.用法 <!DOCTYPE html> <html> <head> <title></title> <meta charset=&q ...