orcla 总结

一、SQL基础

1.SQL语句分为以下三种类型

DML: Data Manipulation Language 数据操纵语言
DDL: Data Definition Language 数据定义语言
DCL: Data Control Language 数据控制语言
1)
DML用于查询与修改数据记录,包括如下SQL语句:

INSERT:添加数据到数据库中
UPDATE:修改数据库中的数据
DELETE:删除数据库中的数据
SELECT:选择(查询)数据
SELECT是SQL语言的基础,最为重要。

2)
DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:

CREATE TABLE:创建数据库表
ALTER TABLE:更改表结构、添加、删除、修改列长度
DROP TABLE:删除表
CREATE INDEX:在表上建立索引
DROP INDEX:删除索引

3)
DCL用来控制数据库的访问,包括如下SQL语句:

GRANT:授予访问权限
REVOKE:撤销访问权限
COMMIT:提交事务处理
ROLLBACK:事务处理回退
SAVEPOINT:设置保存点
LOCK:对数据库的特定部分进行锁定

2.常见的数据库对象

3.数据类型

二、函数


1).单行函数
字符,数值,日期,转换,通用 条件表达式
1.length(),SUBSTR,index(),lower()
2.round,Mod求余,trunc 截断
3.sysdate,ADD_MONTHS,NEXT_DAY,last_day,MONTHS_BETWEEN
4.to_date,to_number,to_char,
5.nvl,nvl2,nullIf,COALESCE
6.CASE 表达式
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr] END

DECODE 函数
DECODE(col|expression, search1, result1 ,
[, search2, result2,...,]
[, default])

2).多行函数
组函数类型:AVG ,COUNT ,MAX ,MIN ,SUM,STDDEV公差
分组数据: GROUP BY 子句
过滤分组: HAVING 子句


三、连接

--内连接
1)
--等值连接
(1)等值连接:在连接中使用等号(=)操作就是等值连接。
SELECT employees.employee_id, employees.last_name,
employees.department_id, departments.department_id,
departments.location_id
FROM employees, departments
WHERE employees.department_id = departments.department_id
--不等值连接
(2)不等值连接:主要用除了等号之外的操作符,比如:<>、>、<、>=、<=、LIKE、IN、BETWEEN…AND
SELECT e.last_name, e.salary, j.grade_level
FROM employees e, job_grades j
WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;

2)
--非自连接
--自连接 同一张表
SELECT worker.last_name || ' works for ' || manager.last_name
FROM employees worker, employees manager
WHERE worker.manager_id = manager.employee_id ;

--外连接
--左外连接、右外连接、满外连接

SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.column(+) = table2.column;

SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.column = table2.column(+);

SQL: 1999 语法
LEFT JOIN
RIGHT JOIN
FULL JOIN

--自然连接
NATURAL JOIN 子句,会以两个表中具有相同名字的列为条件创建等值连接。
在表中查询满足等值条件的数据。
如果只是列名相同而数据类型不同,则会产生错误。

SELECT department_id, department_name,location_id, city
FROM departments NATURAL JOIN locations ;

oracle中清空表数据的两种方法

1、delete from t

2 、truncate table t

 区别: 

1、delete是dml操作;truncate是ddl操作,ddl隐式提交不能回滚

2、delete from t可以回滚,truncate table t 不可以回滚

3、 truncate table t 执行效率更高,会回收表空间,delete from t执行效率慢,不会回收表空间

4、 truncate table t高水线下降,delete from t高水线不降(这个不太明白...)自增ID,TRUNCATE后从1开始,DELETE后还是接着自增

原文地址:https://www.cnblogs.com/denghy-301/p/14086813.html