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(),返回受影響行數