oracle&mysql差异性&数据库常用操作(持续更新)

  • 函数
oracle mysql
nvl() IFNULL
to_date str_to_date(date,'%Y-%m-%d')
to_number CAST(xxx AS SIGNED INTEGER), CONVERT(xxx,INTEGER)
wm_concat group_concat
DECODE(T.ID, '0', '1', '1', '2', '2', '3', ' ') if(T.ID='0','1',if(T.ID='1','2',if(T.ID='2','3','')))
length() char_length()
instr(‘abcdefg’,’ab’) instr(’ab’,‘abcdefg’)
to_char() date_format(date,'%Y-%m-%d')

 

  • mysql注意事项

mysql使用delete from 表名 where 字段名 in (''),表名不能使用别名,否则sql会报错

mysql“substring(str,pos,len)、substr(str,pos,len)”函数使用时,如果从字符串第一个字符截取,则:substr(str,1,4),oracle则是:substr(str,0,4)

  • 常用操作

--创建表空间
CREATE
TABLESPACE "HRB_CHECK"
LOGGING
DATAFILE '/datas/data2/HRB_CHECK.dbf' SIZE 1024M
AUTOEXTEND
ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT
SPACE MANAGEMENT AUTO;

--创建临时表空间
CREATE
TEMPORARY TABLESPACE HRB_CHECK_TEMP TEMPFILE '/datas/data1/HRB_CHECK_TEMP.dbf' SIZE 1024M AUTOEXTEND
ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM
SIZE 1M;

--创建用户
CREATE USER hrb_check PROFILE "DEFAULT"
IDENTIFIED BY hrb_check DEFAULT TABLESPACE HRB_CHECK
TEMPORARY TABLESPACE HRB_CHECK_TEMP
ACCOUNT UNLOCK;

--赋权限
grant dba to 用户;

--导入库
imp GCLOUD_GIAP/GCLOUD_GIAP@ggdb file=D:/gcloud_giap.dmp full=y

--导出库
exp gcloud_giap_se/[email protected] file=d:\gcloud_giap_se.dmp owner=(gcloud_giap_se)

--创建dblink
create database link BSPLINK
connect to gcloud_bsp IDENTIFIED by gcloud_bsp
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.230)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';

--失误drop表后恢复
flashback table 原表名 to before drop

--恢复表到指定时刻
flashback table 表名 to timestamp to_timestamp('20130813 14:00:00','yyyymmdd hh24:mi:ss');
--开始表行移动功能
alter table tablename enable row movement;

--mysql 替换某个字段中的某个字符
update 表名 set 字段名=REPLACE (字段名,'原来的值','要修改的值')

--修改数据库密码
alter user 用户名 identified by 新的密码;

--账户被锁后解锁
alter user 用户名 account unlock;

--按逗号切割字符串,把参数拆成多列
select
regexp_substr('192.168.1.1,8000,cpu,apx,10200','[^,]+',1,1) IP,
regexp_substr('192.168.1.1,8000,cpu,apx,10200','[^,]+',1,2) PORT,
regexp_substr('192.168.1.1,8000,cpu,apx,10200','[^,]+',1,3) COLA,
regexp_substr('192.168.1.1,8000,cpu,apx,10200','[^,]+',1,4) COLB
from dual ;

--创建只读用户
1.创建用户(user),指定表空间
2.给用户赋权限
GRANT CONNECT,SESECT ANY TABLE,SELECT ANY DICTIONARY TO user;
grant create synonym to user;
3.给需要查询的表创建同义词
create synonym bzk_xzxk_sp_spjy_xkz for rcfda_bz.bzk_xzxk_sp_spjy_xkz;

--查看数据库字符集
select userenv('language') from dual;

猜你喜欢

转载自www.cnblogs.com/ZhenV5/p/12711310.html