1. 程式人生 > >JDBC總結--其他基礎

JDBC總結--其他基礎

資料庫基礎

事務

原子性:不可再分,一起成功一起失敗;
一致性:資料在執行前後保持一致;我1千,他1千。我轉賬500,我就500,他1500
隔離性:不同的兩個事務之間互相不影響;我給你轉賬(鎖),你女朋友正在刷卡消費 
永續性:不能踢一下主機資料就丟了吧;

索引

索引:新華字典的目錄。索引的作用就是提高查詢速度
主鍵索引:資料庫中一個欄位用於自增,沒有任何特殊意義
唯一索引:這個資料在本列中必須唯一,身份證

資料庫中時間型別

Timestamp:時間戳,一個表中只有一個欄位可以是Timestamp,
	用於自動添加當前系統的時間。包含年月日時分秒
Date:只有年月日
Time:只有時分秒
Datetime:年月日時分秒

JDBC操作流程

載入jar包:配置與當前專案的管理
載入驅動:Class.forName(“驅動類的路徑”);
獲取連線物件:Connection con=DriverManager.getConnection(path,name,pwd); 
獲取語句物件:(建議大家使用PrepareStatement)
執行SQL語句:(executeUpdate增刪改,返回受影響行數int型別  executeQuery查詢,返回的是查詢的資料,ResultSet型別)
關閉資料庫:(按照先開後關的原則依次關閉)

statement和PrepareStatement

Statement:不停的編譯
Preparestatement:只編譯一次,防止注入式攻擊,效率更高

資料庫連線池

伺服器啟動時會建立一定數量的池連線,客戶端程式需要連線時,
分配一個連線,並標記為忙。如果當前沒有空閒連線,池驅動程
序就新建一定數量的連線。當使用的連線呼叫完成後,將此連線表記為空閒。

主鍵和外來鍵有什麼區別

主鍵在本表中是唯一的、不可唯空的,外來鍵可以重複可以唯空。
外來鍵和另一張表的主鍵關聯,不能建立對應表中不存在的外來鍵。

*當這張表有關聯資料時可不可以刪除?如何刪除? ----不可以,要先刪除表中與外來鍵有關聯的資料,才能進行刪除

事前觸發和事後觸發

事前觸發器:運行於觸發事件發生之前,比如說主鍵自增。
事後觸發器:運行於觸發事件發生之後,比如說當一張表的資料增刪改查之後,
	會新增到日誌表中,並記錄到另一張的資料中。

行級觸發器

在觸發器所影響的每一行觸發一次。

Where和having的區別

Having:是先分組在進行篩選,對於有Group by子句的SQL語句,只能與Having組合
Where:是篩選前的條件

Varchar和char的區別

Char是定長的,也就是當你輸入的字元小於你指定的數目時,char(8),
	你輸入的字元小於8時,會自動在後面補空值。
	當你輸入字元大於指定的數時,它會擷取超出的字元。
Varchar是變長型,它的儲存空間會跟你輸入的實際字元數而改變,
	但最大長度不能超過你指定的長度。