原創 2 MYSQL 之Connect型別

2022-05-14 11:55:05 字數 1083 閱讀 5324

mysqlpp:: connect型別主要負責連線事宜,這是在所有開始mysql操作之前必須進行的(這是句廢話)。

該型別的主要的結果如下所示

通過檢視原始碼,我看到optionalexceptions就是乙個對於乙個表示「是否需要丟擲異常」的變數的包裝。在connection型別的內容,會在出現錯誤的時候呼叫opetionalexceptions.throw_exceptions( )方法來檢視是否需要使用異常的手段來表示錯誤。

mysqlpp::connection

這個型別是使用者程式能夠看到的少數幾個型別,它所包含的主要的方法就是「連線」,「斷開連線」,「建立某個資料庫",」drop某個資料庫「(此二者是通過create  database和drop  database實現的),」檢視某張 table 中的資料行數「,」關閉mysql服務等操作「。

同時,該型別也可以返回乙個mysqlpp::query型別,該型別主要負責查詢操作。另外,當我們以後看到mysqlpp::query的時候,我們很容易發現它的建構函式必定需要乙個mysqlpp::connection,也就是說mysqlpp::query的所有操作,其實也就是再次呼叫mysqlpp::connection的對應方法,後者再去呼叫mysqlpp::dbdriver來做真正的資料庫操作。

需要注意的是,connection其實就是乙個**型別,所有的和資料庫進行操作的非查詢類動作(包括了連線,檢視連線是否還在,mysql的操作出錯的錯誤資訊和錯誤號,通訊方式(ipc_info方法),選擇當前db)都是交給mysqlpp::dbdriver來做的。他才是真正的執行者。

唯一tricky的地方在於作用使用了乙個為了 safe bool conversion operator 的typedef來防止一些我個人認為無傷大雅的語法問題(這些問題如果使用標準的c#語法都是可以避免的,例如c#中並不支援 if (is_true)的語法,而必須寫成if (is_true == true)的形式。

MySQL解析(2) MySQL版本

mysql ab目前維護的mysql版本主要包括 mysql 4.1 mysql 5.0 mysql 5.1 mysql 6.0 其中處於stable狀態的有mysql4.1 5.0,而mysql5.1處於rc beta 版,mysql 6.0 處於 alpha版。mysql 5.0是stable的...

MySQL 筆記2 MySQL 基礎

mysql 系列筆記是筆者學習 實踐mysql資料庫的筆記 mysql 資料庫基礎入門教程 mysql 官方文件 儲存引擎 儲存資料的技術。mysql中的資料可以用各種不同的技術儲存在檔案 或者記憶體 中,這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能...

MySQL學習 2 MySQL索引

6 索引設計原則 mysql官方對索引的定義為 索引 index 是幫助mysql高效獲取資料的資料結構 有序 在資料之外,資料庫系統還維護者滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法,這種資料結構就是索引 一般來說索引本身也很...