初步體驗Oracle

来源:https://www.cnblogs.com/h-w-b/archive/2020/03/11/12462897.html
-Advertisement-
Play Games

Oracle 與Mysql 對比: MySQL: 免費;小型企業;僅是資料庫;輕 Oracle:收費, 中大型企業;資料庫服務(許可權,併發,事務,一致性);更適合集群;重 共同點:都屬於關係型資料庫 RDBMS 非關係型資料庫NoSQL(Not Only SQL ): Redis,Mongodb,S ...


Oracle 與Mysql 對比:

MySQL: 免費;小型企業;僅是資料庫;輕

Oracle:收費, 中大型企業;資料庫服務(許可權,併發,事務,一致性);更適合集群;重

共同點:都屬於關係型資料庫 RDBMS

 

非關係型資料庫NoSQL(Not Only SQL ):

Redis,Mongodb,SSDB,HBase

Redis  基於記憶體存儲,Key-Value資料庫,使用比率較高

SSDB  基於硬碟(記憶體輔助),企圖替代Redis

Mongodb  基於分散式文檔存儲,集群部署

HBase 基於HDFS存儲,是大數據Hadoop的子項目,列存儲

 

兩種連接方式:

         1. 在cmd命令行輸入sqlplus

2.  PLSQL/Developer連接,操控數據的工具,官方推薦

 

 

Oracle服務:

OracleServiceSID

Oracle的核心服務,要啟動Oracle實例,必須啟動該服務

OracleOraDb11g_homeTNSListener

Oracle伺服器的監聽程式  

OracleJobSchedulerSID

任務調度服務,負責對用戶創建的作業按預先設置的時間周期性地進行調度執行,從而實現Oracle伺服器的自動管理功能

OracleDBConsoleSID

負責在Windows平臺下啟動Oracle企業管理器。Oracle 11g企業管理器是一個功能完善的Oracle資料庫管理工具,可以管理本地資料庫環境和網格環境

 

 

 

預設賬戶:

SYS           系統賬戶,Oracle中的超級用戶,主要用於維護系統信息和管理實例,資料庫中數據字典的所有表和視圖都存儲在SYS模式中

SYSTEM   用戶是Oracle中預設的管理員,它擁有DBA許可權。該用戶擁有Oracle管理工具使用的內部表和視圖,通常通過SYSTEM用戶管理Oracle資料庫的用戶、許可權和存儲等

SCOTT      Oracle資料庫的一個示範賬號。SCOTT用戶模式包含4張示範表,SCOTT用戶的預設口令為scott

HR            用戶,類似於SCOTT用戶,示例表更多

 

 

常用數據類型:

字元類型

CHAR類型

CHAR表示固定長度字元串,長度不夠的用空格補充,最多可以存儲2000位元組

CHAR類型區分中英文,中文在CHAR中占兩個位元組,而英文只占一個位元組

VARCHAR2類型

VARCHAR2表示可變長度字元串,最多可以存儲4000位元組,在定義該數據類型時,應該指定其大小。與CHAR類型相比,使用VARCHAR2可以節省磁碟空間

數值類型

NUMBER類型可以存儲正數、負數、零、定點數和精度為38位的浮點數

NUMBER(M,N)。其中,M表示精度,代表數字的總位數;N表示小數點右邊數字的位數

日期類型

DATE類型

用於存儲表中的日期和時間數據,取值範圍是公元前4712年1月1日至公元9999年12月31日,長度是7,7個位元組分別表示年、月、日、時、分和秒

TIMESTAMP類型

用於存儲日期的年、月、日以及時間的小時、分和秒值。其中,秒值精確到小數點後6位,該數據類型同時包含時區信息

 

大對象類型

CLOB大字元串對象類型

CLOB(Character Large Object)數據類型用於存儲可變長度的字元數據,最多可存儲4GB數據,用於存儲VARCHAR2類型不能存儲的長文本信息

BLOB大二進位類型

BLOB(Binary Large Object)數據類型用於存儲較大的二進位對象,如圖形、視頻剪輯和聲音剪輯等,最多可以存儲4GB數據

 

測試常規CRUD:

        

alter使用:

n  向已經創建的表中增加一個新列

n  alter table tableName add columnName dataType;

n  alter table tb_shop add memo varchar2(100);

n  修改表中指定列的數據類型和類型長度

n  alter table tableName modify columnName dataType;

n  alter table tb_shop modify memo varchar2(50);

n  刪除表中指定的列

n  alter table tableName drop column columnName;

 

SQL查詢語言主要包括以下4種:

(1)數據定義語言(Data DefinitionLanguae,DDL):用於創建、修改和刪除資料庫對象,如CREATE TABLE、ALTER TABLE、DROP TABLE等。

(2)數據操縱語句(Data Manipulation Language,DML):用於操縱數據,包括INSERT、UPDATE、DELETE、SELECT等。

(3)數據控制語言(Data Control Language,DCL):用於執行授予許可權和撤銷許可權的操作,包括GRANT(授予許可權)、REVOKE(撤銷許可權)兩條命令。DCL語句可以自動提交事務。

(4)事務控制語言(Transactional Control Language,TCL):用於維護數據的一致性,包括COMMIT(提交事務)、ROLLBACK(回滾事務)和SAVEPOINT(設置保存點)3條語句。

 

啞表dual

單行單列的表,用於特殊數據的查詢

select sysdate from dual;

select sys_guid() from dual;

 

序列

n  是一個命名的順序編號生成器,它能以串列的方式生成一系列順序整數

create sequence seq_name start with 1;

NEXTVAL列返回序列生成的下一個值

CURRVAL列返回序列生成的當前值

示例:

 

RowNum

是一個偽列,它會根據返回的記錄生成一個序列化的數字。分頁

select rownum rn,t.* from tableName;

 

可以使用ROWNUM列返回查詢結果集中前N條記錄

分頁

 

select * from (

       select rownum rn,t.* from emp t

)where rn<10 and rn>5

 

RowID

rowid就是唯一標誌記錄物理位置的一個id

 

 

 

JDBC(Java DataBase Connectivity,java資料庫連接)

Java和數據交互的通道, JDBC體繫結構是用於Java應用程式連接資料庫的標準方法。

JAVA只需要提供一套統一介面,而資料庫廠商提供對應自己廠商的驅動程式,也是就對應到jar包

Oracle的jar包對應的 ojdbc6.jar , ojdbc14.jar

 

JDBC參數

n  String driverClass = "oracle.jdbc.driver.OracleDriver";

n  String url = "jdbc:oracle:thin:@localhost:1521:orcl";

n  String user = "scott";

n  String password = "123456";

 

Eclipse測試連接

1. 選擇 Window – show view – Data Source Explorer

 

2. 新建數據連接

 

選擇Oracle模板

 

3. 選擇對應Oracle版本

 

 添加本地jar包

 

4. 添加jar包後,回退上一步視窗,補充jdbc連接數據

 

測試一下

 

5. 打開Open SQL Scrapbook,測試真實SQL語句

JDBC編程

1. 創建java項目

2. 導入參數文件 .properties

3. 導入JDBC工具類

4. 調用工具類,測試查。步驟:

         3.1 調用工具類,打開資料庫連接

         3.2 準備sql

         3.3   預裝載sql

         3.4   執行sql

         3.5 收集返回參數

         3.6   關閉對應流

5. 複製代碼到dao層,完成CRUD操作

         查            對應        ps.executeQuery(),返回結果集

         修改        對應        ps.executeUpdate(),返回受影響行數


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 第八章 游標和觸發器 初識游標 在PL/SQL塊中執行SELECT、INSERT、DELETE和UPDATE語句時,ORACLE會在記憶體中為其分配上下文區(Context Area),即緩衝區。游標是指向該區的一個指針,或是命名一個工作區(Work Area),或是一種結構化數據類型。它為應用等量齊 ...
  • 分區: 分區也是MySQL優化中的一個重要方式 將一個表中的數據和索引,分散到不同的文件中進行存儲 通常情況下,一個表,對應一組數據和索引文件,一個表的數據和索引集中存儲在這組文件中 當一個表出現了大量的記錄時,可以將其分佈到不同的數據和索引文件中進行存儲 Innodb來說,一個表對應多個ibd文件 ...
  • 第七章 使用PL/SQL編程 初識PL/SQL(Procedure Language & Structured Query Language) PL/SQL是Oracle在標準SQL語言上的過程性擴展,允許嵌入SQL語句,定義變數和常量允許過程語言結構(條件分支語句和迴圈語句)允許使用異常來處理Or ...
  • 第六章 項目案例1 需求: 1. 建立一個銀行賬戶的表bank_account,具備以下欄位和約束 2. 完成該表基本CRUD 3. 模擬轉賬流程 4. 模擬異常之後的業務回滾 開發文檔: 1. 按需求建表 2. 遵循編碼規範,創建項目,包結構 3. 書寫該表的CRUD JDBCDao 4. 模擬轉 ...
  • 第五章 欄位約束 初識約束 約束是資料庫用來確保數據滿足業務規則的手段,對數據做的條件限制。 約束的類型 1. 主鍵約束(PRIMARY KEY) 2. 唯一性約束(UNIQUE) 3. 非空約束(NOT NULL) 4. 檢查約束(CHECK) 5. 外鍵約束(FOREIGN KEY) 主鍵約束( ...
  • 第四章索引和事務 1. 什麼是索引?有什麼用? 1)索引是資料庫對象之一,用於加快數據的檢索,類似於書籍的目錄。在資料庫中索引可以減少資料庫程式查詢結果時需要讀取的數據量,類似於在書籍中我們利用索引可以不用翻閱整本書即可找到想要的信息。 2)索引是建立在表上的可選對象;索引的關鍵在於通過一組排序後的 ...
  • 第三章組函數和表關係 字元串函數 -- concat 連接兩個字元串 select concat('abc','ABC') from dual; select 'abc'||'ABC' from dual; select concat(first_name,'_')||last_name con,t ...
  • 第二章 Oracle體系架構和導入/導出 Oracle體繫結構 服務名,實例名,orcl n Oracle通過資料庫實例來載入和管理資料庫,每個運行的Oracle資料庫都對應一個Oracle實例(Instance),也可以稱為常式。 n 當資料庫伺服器上的一個資料庫啟動時,Oracle將為其分配一塊 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...