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
create [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
创建目录
官方参考文档: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’