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 "TABLESPACE_NAME"
LOGGING
DATAFILE '/datas/data2/TABLESPACE_NAME.dbf' SIZE 1024M
AUTOEXTEND
ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT
SPACE MANAGEMENT AUTO;
--创建临时表空间
CREATE
TEMPORARY TABLESPACE TABLESPACE_NAME_TEMP TEMPFILE '/datas/data1/TABLESPACE_NAME_TEMP.dbf' SIZE 1024M AUTOEXTEND
ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM
SIZE 1M;
--创建用户
CREATE USER USER_NAME PROFILE "DEFAULT"
IDENTIFIED BY USER_NAME DEFAULT TABLESPACE TABLESPACE_NAME
TEMPORARY TABLESPACE TABLESPACE_NAME_TEMP
ACCOUNT UNLOCK;
--赋权限
grant dba to 用户;
--失误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 同义词名称 for 数据库用户.表名;
--查看数据库字符集
select userenv('language') from dual;

浙公网安备 33010602011771号