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)