oracle學習筆記 3

2021-08-30 18:52:11 字數 1101 閱讀 7118

生成表

--臨時表,存在於事務範圍或會話範圍,供全體使用者使用

create global temporary table temp_emp

(empno number,

ename varchar2(10));

create table emp_copy as select * from emp where deptno = 10;

create table emp_copy (empno, sal) as select empno, sal from emp where deptno = 10;

更改表結構

--新增新列

alter table emp add (hire_date date);

--修改資料型別(增加容易,減少難)

alter table prod modify (lastname varchar(25));

--減少

create table test (col2) as select col2 from tester;

update tester set col2 = null;

alter table tester modify (col2 varchar2(5));

--刪除

alter table emp set unused column salary;

alter table emp drop unused columns;

alter table emp drop column salary;

--截斷表

truncate table tester;

約束:在列資料定義後新增

唯一性約束自動生成索引(主鍵和唯一約束)

--主鍵約束(列約束和表約束)

constraint pk_emp primary key (empid)

--外來鍵約束

references tablename (table_column) on delete set null | cascade

--唯一約束

unique

--null約束和檢查約束

not null | check (salary <= 250000)

oracle學習筆記3

1.子查詢 select ename,sal,deptno from emp where sal in select max sal from emp group by deptno 求在不同部門薪水最高的雇員的資訊 錯誤!因為查詢的結果是工資是在所有部門下的最高工資範圍中,就是說存在一種結果 同一...

oracle學習筆記(3)

使用profile檔案對口令進行管理 sql create profile 檔名 limit failed login arrempts 3 password lock time 2 將配之檔案分配給使用者 sql alter user 使用者名稱 profile 檔名 給賬戶解鎖 sql alte...

連線操作 Oracle 學習筆記 3

以前在學資料庫時 就沒搞明白什麼是外連線,今天才弄明白 o o 我是不是很笨 select from table1,table2 這裡from子句的兩個表執行的是笛卡爾積操作。也就是table2中的所有記錄從頭到尾吧table1中的所有記錄對映一遍。得到的記錄數是兩個表記錄數的乘積。select f...