JDBC總結--其他基礎
阿新 • • 發佈:2018-12-19
資料庫基礎
事務
原子性:不可再分,一起成功一起失敗;
一致性:資料在執行前後保持一致;我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是變長型,它的儲存空間會跟你輸入的實際字元數而改變,
但最大長度不能超過你指定的長度。