oracle總結


1.創建表空間
create tablespance 表名
datafile ‘’;-- 放在的位置
size --設置大小
autoextend on
next ; --擴展大小


-- 2刪除表空間
drop tablespance 表名;
-- 創建序列 increment by增長 start with 從
create sequence s_表名 increment by 增長 start whith 增長的長度
select s_表名.nextval from dual;

-- 3添加一條記錄
insert into 表名(列名,列明,列明) values (s_表明,'','')
commit;-- 提交數據


-- 4創建用戶
create user 用戶名;
identified by 密碼;
default tablespance 表空間;
-- 創建表 整數用number 字符型 varcahr();
create tanlespance person(

)


-- 5查詢表
select * from 表名;
-- 添加一列 add
alter table 表名 add 列名 列名數據類型;

-- 修改列類型 rename column
alter table 表名 rename column 列名數據類型 to 數據類型;

-- 刪除一列 dorp column
alter table 表名 drop column 列名;

-- 添加一條數據 insert into
insert into 表名(列名,列名)values();

-- 修改一條記錄 update set
update 表名 set 列名=‘’,列名=‘’where 主鍵(id)= id的序號

-- 刪除表中全部記錄
delete from 表名

-- 刪除表結構
drop table 表名

-- 字符函數
select upper('bob')from dual;-- 小寫轉大寫
select upper ('BOB')from dual;--大寫轉小寫

-- 數之函數 round 四舍五入 trunc 直接截取
select round(6.666,2)from dual;
select trunc(6.666,1) from dual;

-- 轉換函數
-- fm去掉前面的零
select to_char(sysdate,'fm yyyy-mm-dd hh24:mi:ss')from dual;

-- 字符串日期
select to_date('2021-6-29 21:58:52','fm yyyy-mm-dd hh24:mi:ss')from dual;

-- 第二天
一.條件表達式
1.給表中的員工起中文名 等值判斷 查名字 when指當時列名 then指修改的名
select 名字列名,
case 名字列名
when ‘’then ‘’
else ‘’
end
from 表名;

2.判斷表中工資 大於3000,大於1500且小於3000,其它低收入
select enmae,sal,
case
when sal>3000 then '高收入'
when sal>1500 then '中收入'
else '低收入'
end
from 表名;

3.多行函數【聚合函數】:作用於多行,返回一個值 count(1)查詢總數量
max(sal)最大 min() 最小 sum()求和 avg()平均值
select count(1) from 表名;

4.分組查詢
分組查詢出各個部門的平均工資 部門 deptno 工資 sal
select deptno, avg(sal) from 表名 group by deptno;

查詢工資高於平均工資的名字
select a.avgSal,d.dname
from
(select deptno, avg(sal) avgSal from 表名 group by deptno) a,
dept d where a,deptno = d.deptno;

5.查詢出平均工資高於2000的的部門信息
select deptno,avg(sal) as avgSal from
emp group by deptno having avg(sal)>2000;

6.查詢出每個部門工資高於800的員工平均工資
select deptno,avg(sal) from emp where avg(sal)>800 group by deptno;


視圖 view
--視圖可以修改嗎?
查詢表的字段被修改了 可以設置視圖為只讀

索引 index
索引的使用原則: 
在大表上建立索引才有意義 
在where子句后面或者是連接條件上的字段建立索引 
表中數據修改頻率高時不建議建立索引

什么是pl/sql
declare
//說明部分
begin
語句序列
end;

常量和變量意義

引用變量
表名%type
記錄變量
表名%rowtype

游標 cursor
步驟:
1.打開游標
2.取一行游標的值
3.關閉游標
4.游標的結束方式

存儲過程

create or replace procedure helloworld is begin
dbms_output.put_line('helloworld'); end helloworld;

存儲過程(Stored Procedure)是在大型數據庫系統中,
一組為了完成特定功能的SQL 語句集,經編譯后存儲在數據庫中,
用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)
來執行它。存儲過程是數據庫中的一個重要對象,
任何一個設計良好的數據庫應用程序都應該用到存儲過程。

觸發器
觸發器可用於 
數據確認 
實施復雜的安全性檢查 
做審計,跟蹤表上所做的數據操作等 
數據的備份和同步

CREATE [or REPLACE]
TRIGGER 觸發器名
{BEFORE | AFTER} {DELETE | INSERT | UPDATE [OF 列名]}
ON 表名 [FOR EACH ROW [WHEN(條件) ] ] begin PLSQL 塊 End 觸發器名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM