Oracle(sql基础)

sql基础:

1.数据库操作语言 DML :(data manipulation language)

select  update delete merge
只要有一个DML语言,Oracle就会产生一个undo.(就会记录一个日志),只要是一个DML操作就会产生一个local(锁)

2.数据库定义语言 DDL: (data definition language)

create alter drop truncate

3.事务控制语言 TCL : (transaction contol language)

commit rollback savepoint

4.数据控制语言 DCL: (Data contol language)

grant revoke

SQL的数据类型:1.字符型 2数值型 3日期型 4大对象型

1.char  固定字符,最长2000个
 varchar2可变长,最长4000个,最小值是1
2.number类型
3.dat   timestamp
4.clob(存储单字节数据,文本数据)  blob(存储二进制数据)

常用数据类型的转换:

date char number 三者之间经常转换

-- 将一个字符串转换为date类型
select to_date('2018-06-17','YYYY-MM-DD') as a_day from dual;

--把当前的日期转换为字符串
select to_char(sysdate,'YYYY-MM-DD') as today from dual;

--将一个字符串转换为timestamp类型
select to_timestamp('2015-08-19 17:50:32.11','YYYY-MM-DD HH24:MI:SS.FF') as a_day from dual;

-- 将当前的时间戳转换为字符串类型              
select to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF') as today from dual;

--将当前姿势时间转换为char类型,然后再将char类型的-去掉,然后转换为number类型
select to_number(replace(to_char(sysdate,'YYYY-MM-DD'),'-')) FROM dual;

常用的函数:

--decode函数(是Oracle专有的,跟case有点像)
select deptno ,decode(deptno,10,'部门1',20,'部门2',30,'部门3') from emp;

--case表达式 只要是sql语法,都能支持case表达式
  select deptno,
  case 
       when deptno=10 then '部门1' 
       when deptno=20 then '部门2' 
   else '部门3' 
   end 
   from emp;

还有一些常用的函数:
TRUNC , ADD_MONTHS, MONTH_BETWEEN, LAST_DAY, REPLACE, SUBSTR, ABS , ROUND , CONCAT

你可能感兴趣的:(Oracle)