顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業(yè)只做數據庫實訓和認證的品牌機構

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > OCP認證 > OCP課程 > OCP培訓課程:sql簡單介紹

OCP培訓課程:sql簡單介紹

文章來源: 更新時間:2016/6/20 15:23:24

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認證,報名從速!

我要咨詢

ocp培訓課程:sql簡單介紹 主要是介紹Oracle的一些功能和關系數據庫的原理,重點說一下這門課程例子中需要用得到表以及使用sqlplus和pl/sql developer連接到數據庫。

1、關系數據庫的術語

參考下面這個圖,介紹關系數據庫的術語

第一個標簽表示一行,也叫一條記錄。

第二個標簽表示一列,也叫表的字段或者屬性,同時這一列也是這個表的主鍵,主鍵的值用于唯一標識表中的某一條記錄,主鍵可由多列組成,但是一個表里面只能有一個主鍵。可以看到上圖中,使用不重復的人員編號來唯一標識某一個人。

第三個標簽表示一個數字列。

第四個標簽表示一個外鍵列,外鍵用于表和表的關聯(lián),比如人員表和部門表,我們要從人員表里面取出人員姓名、部門編號及對應的部門名字,但人員表里面只有部門編號,要去查部門名字就要從部門表里面去查,部門表里面有部門編號和部門名字,這個時候部門表的部門編號和人員表的部門編號形成一種主外鍵,人員表的部門編號就是一個外鍵,而部門表的部門編號是一個主鍵。

第五個標簽表示一個域值(field),就是行和列交叉的地方,只能有一個值。

第六個標簽表示這個值為空(null)。

2、課程中用到的表

047這門課程例子用到的表主要是HR模式下的表,位于example表空間,包括以下幾張表:

(1)人員表(employees),是公司人員的基本信息,共107條記錄,包含的字段如下:

SQL> desc employees;

Name

---------------------------

EMPLOYEE_ID 人員編號(主鍵)

FIRST_NAME 姓

LAST_NAME 名

EMAIL 郵箱

PHONE_NUMBER 電話

HIRE_DATE 入職時間

JOB_ID 職位編號(外鍵,參考職位表jobs的主鍵)

SALARY 薪水

COMMISSION_PCT 提成比例

MANAGER_ID 部門主管編號(外鍵,參考人員表自己的主鍵)

DEPARTMENT_ID 部門編號(外鍵,參考部門表departments的主鍵)

(2)部門表(departments),是公司部門的基本信息,共27條記錄,包含的字段如下:

SQL> desc departments;

Name

-----------------------------

DEPARTMENT_ID 部門編號(主鍵)

DEPARTMENT_NAME 部門名字

MANAGER_ID 部門主管編號(外鍵,參考人員表employees的主鍵)

LOCATION_ID 位置編號(外鍵,參考位置表locations的主鍵)

(3)職位表(jobs),是公司職位的基本信息,共19條記錄,包含的字段如下:

SQL> desc jobs;

Name

-----------------------------

JOB_ID 職位編號(主鍵)

JOB_TITLE 職位名稱

MIN_SALARY 最低薪水

MAX_SALARY 最高薪水

(4)職位歷史表(job_history),是員工職位歷史信息,共10條記錄,包含的字段如下:

SQL> desc job_history

Name

------------------------------

EMPLOYEE_ID 人員編號(復合主鍵,外鍵,參考人員表employees的主鍵)

START_DATE 開始日期(復合主鍵)

END_DATE 結束日期

JOB_ID 職位編號(外鍵,參考職位表jobs的主鍵)

DEPARTMENT_ID 部門編號(外鍵,參考部門表departments的主鍵)

(5)位置表(locations),是部門所在的位置信息,共23條記錄,包含的字段如下:

SQL> desc locations

Name

-------------------------------

LOCATION_ID 位置編號(主鍵)

STREET_ADDRESS 街道地址

POSTAL_CODE 郵編

CITY 城市名字

STATE_PROVINCE 省份

COUNTRY_ID 國家編號(外鍵,參考國家表countries的主鍵)

(6)國家表(countries),是部門位置所在的國家信息,共25條記錄,包含的字段如下:

SQL> desc countries

Name

--------------------------------

COUNTRY_ID 國家編號(主鍵)

COUNTRY_NAME 國家名稱

REGION_ID 地區(qū)編號(外鍵,參考地區(qū)表regions的主鍵)

(7)地區(qū)表(regions),是國家所在的地區(qū)信息,共4條記錄,包含的字段如下:

SQL> desc regions

Name

---------------------------------

REGION_ID 地區(qū)編號(主鍵)

REGION_NAME 地區(qū)名稱

3、sqlplus

Oracle的sqlplus是與oracle進行交互的客戶端工具,借助sqlplus可以查看、修改數據庫記錄。在sqlplus中,可以運行sqlplus命令與sql語句。

(1)SQLPLUS命令分類:

(2)登錄SQLPLUS:

sqlplus [username[/password[@databae]]]

(3)描述表結構:

desc[ribe] tablename

tablename:可以是表,視圖或者同義詞

(4)格式化輸出:

使用set linesize設置sqlplus輸出的最大行寬

SQL> set linesize 100

設置輸出的最大行寬為100

使用col(column)修改字段顯示的長度

SQL> col name for a20

將name字段顯示的長度設置為20

(5)SQLPLUS的編輯命令:

SQL> select department_id

2 from departments where department_id=100;

DEPARTMENT_ID

-------------

100

使用list列出剛才執(zhí)行過的命令

SQL> list

1 select department_id

2* from departments where department_id=100

使用1(數字1)列出剛才執(zhí)行語句的第一行

SQL> 1

1* select department_id

使用a(append),在剛才這一行語句的最后增加后面的內容

SQL> a ,department_name

1* select department_id,department_name

SQL> list

1 select department_id,department_name

2* from departments where department_id=100

使用r(run)運行修改后的內容

SQL> r

1 select department_id,department_name

2* from departments where department_id=100

DEPARTMENT_ID DEPARTMENT_NAME

------------- ------------------------------

100 Finance

使用l(list)列出剛才執(zhí)行過的命令

SQL> l

1 select department_id,department_name

2* from departments where department_id=100

使用1(數字1)列出剛才執(zhí)行語句的第一行

SQL> 1

1* select department_id,department_name

使用c(change)進行替換

SQL> c/department_name/manager_id

1* select department_id,manager_id

使用l(list)列出剛才執(zhí)行過的命令

SQL> l

1 select department_id,manager_id

2* from departments where department_id=100

使用r(run)運行替換后的內容

SQL> r

1 select department_id,manager_id

2* from departments where department_id=100

DEPARTMENT_ID MANAGER_ID

------------- ----------

100 108

(6)SQLPULS文件命令:

SQL> l

1 select department_id,manager_id

2* from departments where department_id=100

使用save保存剛才執(zhí)行的語句到sql腳本文件

SQL> save my_query

Created file my_query.sql

使用start執(zhí)行sql腳本文件

SQL> start my_query

DEPARTMENT_ID MANAGER_ID

------------- ----------

100 108

(7)SERVEROUTPUT命令:

控制在sqlplus里面是否顯示存儲過程或者PL/SQL塊的輸出

(8)SPOOL命令:

將查詢結果保存到文件

SQL> spool sql.txt

SQL> select * from departments where department_id=10;

DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID

------------- ------------------------------ ---------- -----------

10 Administration 200 1700

SQL> spool off

[oracle@oracletest ~]$ cat sql.txt

SQL> select * from departments where department_id=10;

DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID

------------- ------------------------------ ---------- -----------

10 Administration 200 1700

SQL> spool off

(9)AUTOTRACE命令:

成功執(zhí)行select及DML語句后產生的報告,包括執(zhí)行計劃及統(tǒng)計信息

SQL> set autotrace on

SQL> select * from hr.departments where department_id=10;

DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID

------------- ------------------------------ ---------- -----------

10 Administration 200 1700

Execution Plan

----------------------------------------------------------

Plan hash value: 4024094692

-------------------------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

-------------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 21 | 1 (0)| 00:00:01 |

| 1 | TABLE ACCESS BY INDEX ROWID| DEPARTMENTS | 1 | 21 | 1 (0)| 00:00:01 |

|* 2 | INDEX UNIQUE SCAN | DEPT_ID_PK | 1 | | 0 (0)| 00:00:01 |

-------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

2 - access("DEPARTMENT_ID"=10)

Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

2 consistent gets

0 physical reads

0 redo size

642 bytes sent via SQL*Net to client

508 bytes received via SQL*Net from client

1 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

1 rows processed

4、PL/SQL Developer

(1)連接到數據庫

其中:

Username為用戶,Password為密碼,Database后需要輸入數據庫服務器所在的IP地址,端口及服務名,或者輸入服務命名,Connect as后面選擇連接身份。

(2)創(chuàng)建聯(lián)機文檔

選擇“Help”“Oracle HTML Manuals”

點擊“Setup”

點擊“Download”,進入聯(lián)機文檔下載頁面

注冊Oracle用戶,點擊“Oracle 11.2 Library”下載

下載完成后,選擇所在路徑,點擊“Build”

完成后,就可以看到聯(lián)機文檔里面的書了,選上就可以進行搜索了,也可以直接雙擊查看PDF版本的。

5、SQL

SQL(Structured Query Language)是一門 ANSI 的標準計算機語言,用來訪問和操作數據庫系統(tǒng)。

我們用到的SQL語句包含4個類型:

第一個是DML語句,數據操縱語言,上圖把查詢也放到這兒來了,查詢不屬于DML語句,DML包括增刪改,merge是增刪改的和。

第二個是DDL語句,對數據結構進行修改的語言,數據定義語言,包含創(chuàng)建,修改,刪除,重命名,截斷,以及加注釋。

第三個是DCL語句,授權和取消授權。

第四個是事務控制,用于保證數據的完整性,提交,回滾,回到保存點。

實際工作中,就是通過SQLPLUS或者PL/SQL Developer連接到數據庫,使用SQL語句查詢及操縱數據。

本文地址:http://www.mudan321.com/ocp/kecheng/12265702929.html 轉載請注明!


PostgreSQL入門到精通 100+ 個學習資料

Oracle培訓機構

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛(wèi)星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優(yōu)化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內悠久的專業(yè)UNIX培訓機構,被譽為中國UNIX 的搖籃。多年來,以提高教學質量為本,強調素質教育,積極引進、消化國外的新技術,有效的結合中國....[詳情]

一站式服務(從入學到就業(yè)一幫到底)

入學

學習

就業(yè)

實操

食宿
地址:北京市海淀區(qū)田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業(yè)服務:137 1818 8639(陳經理)
部分信息來源于網絡,如有錯誤請聯(lián)系指正!
版權所有@北京神腦資訊技術有限公司 (CUUG,中國UNIX用戶協(xié)會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1