Oracle資料庫基礎

2022-08-04 11:36:09 字數 2763 閱讀 8764

sql分類:

資料操縱語言(dml)

select(查詢)

insert(插入資料)

update(更新資料)

delete(刪除資料)

資料定義語言(ddl)

create(建立)

alter(更改)

drop(刪除)

rename(重新命名)

truncate(擷取)

資料控制語言(dcl)    grant(比如說授權遠端連線、許可權授權等等)

簡單查詢

基本語法

第一種形式

②select *  ( * 表示查詢所有的字段資訊)

①from 資料**(可以是資料表)

執行順序:先執行from子句,再執行select子句。

第二種形式

select 欄位名1,欄位名2,欄位名3...欄位名n  

from 資料**

distinct關鍵字:去掉重複資訊,只有查詢的所有欄位的內容都相同才會認為是重複

as別名:在select子句中為查詢的字段起別名,例如:

empno  as  編號,而且as可以省略,例如:ename  姓名

在開發中都是有限定查詢的,如果開發一些比較敏感的系統你沒有限定查詢,會有承擔法律責任的風險。

基本語法

③select   *

①from 資料**

②where 過濾條件(where 子句是對資料進行條件判斷,選擇滿足條件的資料)

常用的關鍵字:

between  and:在。。。和。。。之間(的範圍),小的數字或者日期放在and的前面。

union all:將兩個查詢的結果並到一起顯示,用來代替or條件查詢,避免索引失效(後面索引的知識點)。

is not null: 不為空

is null: 為空

in(num1,num2,num3):含有num1、num2、num3

not in(num1,num2,num3): 不含有num1、num2、num3

<>  :不等於的意思, 等價於  !=

1、_ :表示任意一位字元

2、%:表示任意位數的任意字元

3、要實現模糊查詢需要使用到關鍵字"like"

基本語法:

③select   *

①from   資料**

②where   模糊查詢的字段   like   模糊查詢的關鍵字

(注意:模糊查詢要在where子句中去使用)

將查詢的結果按照指定的字段進行公升序或者降序顯示。排序必須是數字或者日期才有意義。

order   by 關鍵字: 排序指定的字段

基本語法

③select   *

①from   資料**

②where   過濾條件

④order   by   排序的字段   asc | desc (如果排序的方式沒寫則預設公升序)  

可以在order   by 子句中使用select子句的別名,證明了select子句在order   by 子句之前執行。

③select *

①from  資料**,資料**...

②where  過濾條件

④order  by  排序的字段  asc | desc

笛卡爾積:多表查詢出的資料量是兩張表中的資料量的乘積。

消除兩張資料表的笛卡爾積

select*

from emp,dept

where emp.deptno=dept.deptno;

注意:當查詢的資料量較大時,不建議使用連線查詢(多表查詢),產生過大的笛卡爾積會導致效能耗費。

別名的使用

select *

from emp e,dept d

where e.deptno=d.deptno;

別名的作用:簡化sql的複雜,讓其在引用的時候變得很簡潔。

where子句中引用from子句中產生的別名,證明了where子句在from子句的後面執行。

總結:多表查詢就是從多張資料表中查詢資料

多表查詢又叫做連線查詢

多表查詢會產生笛卡爾積,在資料量大的時候不要使用多表查詢。

連線查詢

多張資料表進行連線然後查詢資料,連線查詢又分為內連線查詢和外連線查詢。

內連線查詢:只有滿足條件的資料才會被顯示

外連線查詢:可以控制不滿足條件的資料是否顯示

左外連線查詢:可以讓左表不滿足條件的資料也顯示

右外連線查詢:可以讓右表不滿足條件的資料也顯示

全外連線查詢:可以讓左表和右表不滿足條件的資料都能顯示

為emp資料表增加一條資料

insert into emp(empno,ename,job,sal) values(1001,'班長','清潔工',3000.00);

總結:

1、內連線查詢只顯示滿足過濾條件的資料

2、外連線查詢可以控制不滿足過濾條件的資料是否顯示

外連線查詢分為:左外連線查詢

右外連線查詢

全外連線查詢

3、可以在過濾條件中使用「(+)」來實現左或者右外連線查詢,但是這種方式是oracle特有的方式,在mysql不能使用

oracle資料庫基礎

1.什麼叫關係型資料庫 基於關係模型的資料庫就叫關係型資料庫。2.那什麼叫關係模型了 使用的儲存結構是多個二維表,實體與實體間的聯絡都是用關係來表示的。oracle資料庫是關係型資料庫 1.sql plus的常用命令 1 conn ect 用法 conn 使用者名稱 密碼 網路服務名 as sysd...

Oracle資料庫基礎!

ddl 資料庫定義語言 dml 資料庫操縱語言 dql 資料庫查詢語言 oracle 甲骨文公司的產品 字元型 char 日期型別date 大字段 樣本資料庫 約束 限制表中的列可以存放什麼樣的資料 not null不允許為空 check一種檢查約束,開發不用 2 檢視表結構 desc 表名 3 資...

Oracle資料庫基礎

oracle資料庫 一 資料庫基礎 dbs db dbms 資料庫系統 資料庫 資料庫管理系統 資料庫三大重點 設計,查詢,編碼 sql web伺服器和資料庫對話的語言 結構化查詢語句 資料庫內部儲存結構有三種 1 關係型 2 層次型 3 網狀型 常見的資料庫 oracle 甲骨文公司 mysql ...