Oracle数据库笔记

Oracle 数据库

连接运算符

“||” 连接字符串及字段。

SELECT 'a' || 'b' FROM dual;

执行结果
--
ab
SELECT 'a' || ',' || 'b' FROM dual;

执行结果
---
a,b

官方文档: Oracle Database SQL Reference

导出DMP
exp uid/pwd@ip:port/orcl file=filepath
exp sys/sys@localhost:1521/orcl file=C:/sys.dmp
导入DMP
imp uid/pwd@ip:port/orcl file=filepath
imp sys/sys@localhost:1521/orcl file=C:/sys.dmp
impdp user/pass@orcl dumpfile=file.dmp remap_schema=user1:target_schema remap_tablespace=user1_tablespace:target_tablespace table_exists_action=replace
常用SQL
-- 查看用户进程
SELECT * FROM v$session WHERE username = 'user';

-- 删除用户进程
-- SELECT sid, serial# FROM v$session WHERE username = 'user';
ALTER SYSTEM KILL SESSION 'sid,serial#';

-- 删除用户
DROP USER username CASCADE;

删除用户 DROP USER

如果该user下没有对象,则可以直接删除。

-- 删除用户test_user
DROP USER test_user;

如果该user下已经生成对象,则使用cascade删除。

-- 删除用户test_user
DROP USER test_user CASCADE;

官方参考文档:DROP USER

列转行

select wm_concat(a) from test

创建DATABASE LINK

create database link
Altcreate [shared/public] database link {dblink} connect to [CURRENT_USER/{user} IDENTIFIED BY {password}]
USING ‘{connect string}’;

-- 创建一个DBLINK
-- DBLINK名称为dblinkname
-- 连接的数据库信息
-- 用户名:test
-- 密码:test_pass
-- IP:localhost
-- 端口号:1521
-- 服务名:orcl
CREATE PUBLIC DATABASE LINK dblink
  CONNECT TO test IDENTIFIED  BY test_pass
  USING
  '
    (
      DESCRIPTION =
        (
          ADDRESS_LIST =
            (
              ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
            )
            (
              CONNECT_DATA = (SERVICE_NAME = orcl)
            )
    )
  ';
--USING后所接参数为目标数据库连接信息,可删除空格

官方参考文档:CREATE DATABASE LINK

创建目录Alt

官方参考文档:CREATE DIRECTORY

to_date(ch, fmt)函数用于将时间字符串转换成时间类型,ch为时间字符串,fmt为时间字符串对应时间格式。

select to_date('20170101','yyyymmdd') from dual;
select to_date('2017-01-01','yyyy-mm-dd') from dual;
select to_date('2017-1-1','yyyy-mm-dd') from dual;

将时间减去一秒。

select to_date('20170101','yyyymmdd') - 1/24/60/60 from dual

months_between(date1,date2)函数计算两个日期间相差月份,精确到天,计算方式为date1减date2,形参参数类型为date类型。

select
    months_between( to_date('20180101','yyyymmdd') , to_date('20180501','yyyymmdd') )
from dual

add_months(date, int)函数日期月份加减,date为被计算的日期,int为计算基数

select add_months( to_date('20170101','yyyymmdd'),-1 ) from dual;

上述SQL代码,查询结果为’2016-12-01 00:00:00’

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想码代码的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值