日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 快速上手,Oracle学习笔记:快速上手

發布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 快速上手,Oracle学习笔记:快速上手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開啟服務:先開啟Lisenterner服務 再開啟ORCL服務

oracle登錄 用戶:

- 管理員 sysDBA - 無密碼

- 系統用戶 system - manager

- 普通用戶 scott - tiger

進入oracle步驟:

sqlplus scott/tiger

DOS窗口中用sqlplus命令,以scott用戶的身份登錄到oracle

conn sys/sys as sysdba;

以無密碼的系統管理員的身份重新連接(相當于SQLSERVER的windows身份驗證)

alter user 用戶名

identified by 密碼; 更改用戶的密碼

show user;

查看當前登錄的用戶 > 創建 create 刪除drop 修改alter

創建表空間: create tablespace

表空間名 datafile ‘物理存放路徑.dbf’

size 大小;

create table 表名(

列名 數據類型 約束,

列名 數據類型 約束,

列名 數據類型 約束,

.... );

數據類型:

數字:

number 可以存整數和小數,可以指定小數位數

number(P,S) P精度(小數+整數的位數) S小數位數

int 整數

float 小數

非數字:

char(10) 固定 存儲數據時,不夠長度以空格填補,要存滿10個字節

varchar(10) 可變 存儲的內容實際的長度,不需要存滿10個字節

varchar2(長度) 同 varchar 4000個字符

long 可變的字符串 2GB

日期:date

序列:生成遞增的數字

同義詞共有兩種類型: 公有同義詞可被所有的數據庫用戶訪問。

私有同義詞只能在其模式內訪問,且不能與當前模式的對象同名。

CREATE (PUBLIC) SYNONYM 同義詞名 FOR 模式名.表名;

注意:一個用戶對應一個模式

create sequence 序列名

start with 初始值

increment by 遞增;

maxvalue 最大值

minvalue 最小值

NOCYCLE/CYCLE

cache 緩存值;

緩存值不指定默認為20,nocache緩存預先不分配值,緩存的值必須小于循環的值

nimvalue與循環(cycle)一起使用,指下次循環的開始值 start with 起始值 :第一次取值的起始值 序列取值:

序列名.nextVal 下一個值

序列名.currVal 當前值

查詢: 條件查詢、聚合函數、分組查詢、連接查詢、子查詢

基本查詢

select 列信息 from 表名 where 條件 group by 分組列 having 分組后篩選 order by 排序列

acs/desc

多表查詢:內連接、外連接

子查詢:作為條件、列、表

select … from … where … update 表 set 列=更新值 where (子查詢)

delete from 表 where (子查詢)

視圖:簡化SQL語句,實際存放的是查詢語句,不是數據,數據存放在源表中

CREATE [OR REPLACE] VIEW 視圖名

as

查詢語句

[with check option] 主要針對視圖的查詢語句帶條件,對視圖執行修改操作時,不允許使視圖的查詢結果行數變少

[with read only] 只讀

索引:提高查詢的速度

主鍵列默認添加索引

(1).標準的索引:索引添加在經常搜索的列上

create index 索引名 on 表名(列名);

(2).唯一索引:索引列值不重復

create unique index 索引名 on 表名(列名);

(3)、組合索引:經常按照多列搜索,則可以在多列上創建一個索引

create index 索引名 on 表名(列名1,列名2);

(4)、反向鍵索引:列值連續

通常索引是建立在連續增長的列上,使數據均勻地分布在整個索引上,索引存儲在硬盤上是以塊的形式存儲的,

如果數據的修改導致順序發生改變,則系統會鎖定修改記錄所在的數據塊,這樣同一個塊中的數據要發生操作必須等待, 大大降低了并發性

反向鍵索引就是反轉索引列中的每一個字節,使數據分散的存放到磁盤不同的塊上,提高數據訪問的并發性 將反轉后的鍵按照常規索引存儲

語法:CREATE INDEX 索引名 ON 表名 (列名) REVERSE;

(5)、位圖索引:列值大量重復

語法:CREATE BITMAP INDEX 索引名 ON 表名 (列名);

PL/SQL 是過程語言(Procedural Language)與結構化查詢語言(SQL)結合而成的編程語言 PL/SQL 是對 SQL

的擴展 支持多種數據類型,如大對象和集合類型,可使用條件和循環等控制結構 可用于創建存儲過程、觸發器和程序包,給SQL語句的執行添加程序邏輯

與 Oracle 服務器和 Oracle 工具緊密集成,具備可移植性、靈活性和安全性

優點: 1、可以編寫邏輯代碼 2、PL/SQL中的代碼自動形成一個事物,出現異常就會一起回滾

3、更佳的性能,減少客戶端對ORACLE服務器端的訪問量,PL/SQL 經過編譯執行的

存儲過程

存儲過程(procedure):命名的PL/SQL代碼快,類似JAVA的方法 一個功能定義到一個存儲過程中,需要使用時直接調用

CREATE OR REPLACE PROCEDURE PRO_NAME

AS

BEGIN

[EXCEPTION]

END;

條件結構

IF 條件 THEN

語句;

ELSIF 條件 THEN

語句;

ELSIF 條件 THEN

語句;

....

ELSE

語句N;

END IF;

根據指定的學號查詢的學生的信息,如果存在輸出學生信息,不存在提示對應的信息

帶參數的存儲過程

CREATE OR REPLACE PROCEDURE PROC1(id student.stuid%type)

AS

--變量與表中的一行數據進行映射,語法:變量名 表名%rowtype;

stu student%rowtype;

num int; --存放根據學號查詢的記錄行數

begin

select count(*) into num from student where stuid=id;

--判斷

if num=0 then

dbms_output.put_line('學號不存在!');

else

select * into stu from student where stuid=id;

dbms_output.put_line(stu.stuid||'-'||stu.stuname);

end if;

end proc1;

--調用存儲過程并傳參數

call proc1(0);

循環

LOOP循環

LOOP

EXIT WHEN 退出循環的條件表達式;

執行語句;

END LOOP;

循環輸出1-10

create or replace procedure proc1

as

i int:=1; --定義變量并賦初值

begin

LOOP

EXIT WHEN I>10;

dbms_output.put_line(I);

I:=I+1;

END LOOP;

end proc1;

CALL PROC1();

WHILE循環

WHILE 循環語法:

WHILE 進行循環條件

LOOP

執行語句;

END LOOP;

create or replace procedure proc1

as

i int:=1; --定義變量并賦初值

begin

WHILE i<=10

LOOP

dbms_output.put_line(I);

I:=I+2;

END LOOP;

end proc1;

for循環

FOR 變量 IN 起始值..結束值

LOOP

執行語句;

END LOOP;

create or replace procedure proc1

as

begin

for i in 1..10

loop

dbms_output.put_line(I);

end loop;

end;

定義存儲過程向學生信息表添加20行測試數據

create or replace procedure proc1

as

begin

for i in 1..20

loop

insert into student values(i,'測試'||i,'男',20,1.68,sysdate);

end loop;

end;

判斷某張表是否存在,如果存在就刪除

CREATE OR REPLACE PROCEDURE CHECKTABLE(TABLENAME VARCHAR)

AS

NUM INT;

BEGIN

SELECT COUNT(*) INTO NUM FROM USER_TABLES WHERE TABLE_NAME=TABLENAME;

IF NUM>0 THEN

--刪除表

--DROP TABLE TABLENAME;

EXECUTE IMMEDIATE 'DROP TABLE '||TABLENAME;

END IF;

END;

注意:PL/SQL中不支持DDL語句:create drop,需要使用命令 EXECUTE IMMEDIATE ‘DDL語句’ 執行

總結

以上是生活随笔為你收集整理的oracle 快速上手,Oracle学习笔记:快速上手的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人综合网 | 亚洲午夜视频在线观看 | 精品乱子伦 | 成人网在线播放 | 污视频网站免费在线观看 | 午夜免费福利视频 | 久久av在线播放 | 丰满少妇在线观看资源站 | 成年人视频在线免费看 | 国产精品视频一二三 | 国产熟女高潮一区二区三区 | 黄a在线 | 久章草在线观看 | 亚色综合| 91aaaa| 国产一区二区电影 | 国产福利视频一区 | 玖玖在线播放 | 亚洲一区二区三区不卡视频 | 国产又黄又粗又猛又爽的视频 | 成人动漫亚洲 | 日韩中文三级 | 亚洲综合激情五月久久 | 天天摸天天摸 | 久久69 | 亚洲午夜天堂 | 天天综合网入口 | 免费看黄色av | 日韩电影在线观看一区 | 8050午夜二级 | 日韩精品视 | 久久四色 | 性工作者十日谈 | 欧美三级久久久 | 中文字幕1区 | 黄色片视频免费在线观看 | 日韩视频免费在线播放 | 中文字幕第27页 | 萌白酱在线观看 | 亚洲美女精品 | 日本精品二区 | 精品区在线观看 | www.天堂在线| 公侵犯人妻一区二区三区 | 亚洲三级图片 | 免费三片在线视频 | 亚洲av无码一区二区乱孑伦as | 亚洲国产黄色av | www日| 视频在线观看一区二区 | 91久久免费 | 午夜精品视频在线观看 | 午夜免费影院 | 国产交换配乱淫视频免费 | 在线天堂中文在线资源网 | 午夜看看| 中文字幕一区二区三区精彩视频 | 免费看欧美成人a片无码 | 台湾男男gay做爽爽的视频 | 在线观看免费黄视频 | 欧美黄色免费网站 | 亚洲精品专区 | 激情婷婷综合网 | 91蝌蚪少妇偷拍 | 九九视频网 | 黄色三级三级 | 欧美一级片播放 | 蜜桃视频在线播放 | av中文字幕网站 | 91片黄在线观看 | 欧美中文字幕一区二区三区 | 九色porn | 日本一级视频 | 涩涩网站在线看 | 福利小视频在线观看 | 乱熟女高潮一区二区在线 | 久久人妻少妇嫩草av无码专区 | jizz国产精品 | 无码人妻精品一区二区 | 欧美人人爽 | 国产欧美精品一区二区色综合 | 午夜在线观看免费视频 | 男人狂揉女人下部视频 | 日韩欧美精品在线观看 | 色婷婷电影网 | 久色亚洲 | 1024手机在线观看 | 51精品国产人成在线观看 | 一本色道久久亚洲综合精品蜜桃 | 国产乱淫精品一区二区三区毛片 | 和漂亮岳做爰3中文字幕 | 亚洲一级二级三级 | 羞羞漫画在线 | 亚洲天堂男人的天堂 | 亚洲一区二区三区黄色 | 麻豆网站在线免费观看 | 大尺度做爰无遮挡露器官 | 青草91 | 国产福利91精品一区二区三区 |