1、数据库对象:表(table) 视图(view) 序列(sequence) 索引(index) 同义词(synonym)mysql
视图(view) : 存储起来的 select 语句sql
create view emp_vu5 as select employee_id, last_name, salary from employees where department_id = 90; select * from emp_vu5; select * from employees; update emp_vu5 set last_name = 'King' where employee_id = 100;
--复杂视图:只能查询,不能增删改数据库
create view emp_vu6 as select department_id, avg(salary) avg_sal from employees group by department_id; select * from emp_vu6; update emp_vu6 set avg_sal = 10000 where department_id = 100;
序列(sequence) :用于生成一组有规律的数值。(一般为主键设置值)服务器
create sequence emp_seq4 start with 1 increment by 1 maxvalue 100000 nocache cycle; select emp_seq4.currval from dual; select emp_seq4.nextval from dual;
--序列的问题:裂缝 1). 多个数据库对象使用同一个序列。 2). rollback 3). 发生异常函数
insert into emp(id, name) values(emp_seq4.nextval, '张三'); select * from emp;
索引(index) :用于提升查询效率
--自动建立:数据服务器会为具备惟一约束(主键约束,惟一约束)的列自动建立索引code
create table emp2( id number(10) primary key, name varchar2(30) );
--手动建立:对象
create index emp2_name_idx on emp2(name);
--建立联合索引索引
create index emp2_nameId_idx on emp2(id, name);
同义词(synonym)rem
create synonym d for departments; select * from d;
表(table)
DML : 数据操纵语言it
insert into ... values ... delete from ... where ... update ... set ... where ...
select ...组函数(MAX/MIN/AVG/SUM/COUNT)
from... (内链接 join...on... 左外链接:left join...on... 右外链接: right join...on... 满外链接:full join...on...)
where... between...and.../in(..., ..., ...)/like/is (not) null
group by 出如今 select 子句中的非分组函数,必定出如今 group by 子句后
having 过滤组函数
order by ... asc(升序)-默认 desc(降序)
DDL : 数据定义语言(create table/alter table/drop table/rename...to.../truncate table) DCL : 数据控制语言(commit; rollback; grant...to.../ revoke)