oracle数据库之操作总结
## 连接数据库:
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数据库之操作总结的更多相关文章
- ORACLE数据库误操作执行了DELETE,该如何恢复数据?
ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...
- eclipse利用sql语句对Oracle数据库进行操作
对Oracle数据库执行操作的sql语句中表名和列名都需用英文双引号("")括起来. 注(\为转义符) 1.插入数据 sql = "insert into \" ...
- Oracle 数据库简单操作
现在大型企业一般都用Oracle数据库,Oracle数据库在一般采用expdp,impdp 导出导入数据,但是在操作中经常会遇到一些问题.下面来浅析这些问题. 1. 导出数据 一般导出数据的时候需要建 ...
- ADO.Net对Oracle数据库的操作【转载】
一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC).数据访问对象(DAO).远程数据对象 (RDO). ActiveX数据对象(ADO).我们今天主要要学习A ...
- Oracle 数据库常用操作语句大全
一.Oracle数据库操作 1.创建数据库 create database databasename 2.删除数据库 drop database dbname 3.备份数据库 完全 ...
- 【转】ADO.Net对Oracle数据库的操作
一 ADO.Net简介 [转自网络,收藏学习] 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC). 数据访问对象(DAO).远程数据对象(RDO). ActiveX数据对象(ADO ...
- python对oracle数据库的操作
1 Oracle数据库 1.1 Oracle环境配置&客户端连接 1.1.1 下载安装Oracle绿色版客户端instantclient: 到o ...
- oracle数据库简单操作
导入某用户所有表和数据:imp sgp/sgp@192.168.0.99:1521/orcl file=sgp20161025.dmp full=y 导出指定表及数据:exp sgp/sgp@192. ...
- Oracle数据库一些操作信息
Oracle数据库如何查看当前用户角色权限及默认表空间查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间以及用户和默认表空间的关系等--查看用户的角色权限1.查看当前用户拥有的角色权限信息 ...
- jmeter实现对Oracle数据库的操作
实现目的 有时候,根据业务需要,可能需要直接对数据库进行性能测试,此时可利用jmeter对Oracle.MySQL等数据库进行相关测试. 脚本实现 添加JDBC Connection Configur ...
随机推荐
- time模块,计算时间差
计算当前时间与所输入的时间的时间差 #1 计算当前时间的时间戳时间 t_now = time.time() # 计算以前的时间的时间戳时间 t_before = input('请输入时间(例如:200 ...
- 【学习笔记】--- 老男孩学Python,day18 面向对象------抽象类(接口类), 多态, 封装
抽象类,接口类 Python没有接口这个概念 抽象类(接口类): 目的是制定一个规范 要学会归一化设计,有重复的东西就要想把它们合并起来 from abc import ABCMeta, abstra ...
- Markdown预览功能不可用解决方案
初学者在使用Markdown时也许会遇到这个问题 原因是电脑缺少一个组件,解决方案很简单,安装上就好了,以下是链接 http://markdownpad.com/download/awesomium_ ...
- 移动端 vconsole 的使用
在微信和app里 我们没有办法使用谷歌提供的开发者工具,可以借助 vconsole 使用步骤如下 1.安装 npm install vconsole 2.app.js里引入 import VCons ...
- Modernizing Business Process with Cloud and AI
The world is awash with digital transformation. Every customer and partner that I talk to, across ev ...
- centos7.2+php7.2+nginx1.12.0+mysql5.7配置
一. 源码安装php7.2 选择需要的php版本 从 php官网: http://cn2.php.net/downloads.php 选择需要的php版本,选择.tar.gz 的下载包,点击进入,选择 ...
- Java动态代理和反射机制
反射机制 Java语言提供的一种基础功能,通过反射,我们可以操作这个类或对象,比如获取这个类中的方法.属性和构造方法等. 动态代理:分为JDK动态代理.cglib动态代理(spring中的动态代理). ...
- 为什么选用 React 创建混合型移动应用?
[编者按]本文作者为 14islands 联合创始人.创新 Web 开发者 David Lindkvist,主要介绍有关混合型应用搭建的方方面面.文章系国内 ITOM 管理平台 OneAPM 编译呈现 ...
- UPDATE语句总结
一.基本语句 1.SQL UPDATE 语法 UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition ...
- 如何判断一个整数是否是2的N次幂
static bool CheckPowerOfTwo(ulong num) { && (num & (num - )) == ; }