SQLite官文翻譯(一) 關於SQLite

2021-07-23 14:02:30 字數 1139 閱讀 8168

sqlite是開源的,處於公有領域中,可免費用於任何目的,無論商用還是個人使用。

sqlite是乙個嵌入式的資料庫引擎。與大多數其他sql資料庫不同,它沒有單獨的伺服器程序,sqlite資料庫的表/索引/觸發器/檢視都包含在乙個單獨磁碟檔案中,sqlite直接讀寫此磁碟檔案。其資料庫檔案格式可跨平台,使用者可在32位/64位系統間,低位元組序/高位元組序架構間拷貝,因而使其成為了流行的應用程式檔案格式。

最大程度實現了自包含,其僅需要外部庫或作業系統最小的支援。這使得它很適用於嵌入式裝置,也適用於各種各樣不同配置的電腦上,無需修改而直接在應用內部呼叫。

大多數sql資料庫引擎實現為乙個單獨的伺服器程序,想要訪問資料庫的程式,需要與資料庫伺服器實現程序間通訊(如tcp/ip)來傳送請求和獲取返回結果。而sqlite沒有中間的伺服器程序,想訪問資料庫的程式可直接讀寫磁碟上的資料庫檔案。

sqlite使用前無需安裝,沒有配置檔案,沒有伺服器程序需要啟用/停止/配置,無需管理者建立新的資料庫例項或給使用者授權。使用前無需告知系統其在執行,系統崩潰或斷電後無需恢復。其他資料庫引擎一旦你使它跑起來,也許會運轉良好,但開始的安裝和配置過程常常很嚇人。

事務型資料庫的所有變化和查詢具有原子性,一致性,隔離性和永續性。sqlite即使在程式崩潰,系統崩潰或斷電時,也保證乙個事務內所有變化要麼全部執行,要不都不執行。

全部特性啟用的話,庫的大小能少於500k,具體看目標平台和編譯優化的設定。(64位**的話會大些,一些編譯優化,如最大限度的函式內聯,展開迴圈等會使得目標**更大。)如果省略可選功能,sqlite庫的大小可減至300k。sqlite可以在最小的棧空間(4k)和最小的堆空間上執行(100k),使其成為記憶體受限的小型裝置(如手機,pda,***等)的流行之選。記憶體使用和速度之間需要做出折中,記憶體多sqlite通常執行更快,不過即便在小記憶體的環境,其效能通常也很好。

sqlite每個版本之前都經過了充分的測試,有著可靠的聲譽。大部分sqlite原始碼純粹是用於測試和驗證。自動化測試跑了數以百萬計的測試用例,包含數億的單個sql,測試覆蓋率達100%。sqlite對記憶體分配失敗和磁碟i/o錯誤表現優雅。事務是acid的,即便是出現了系統崩潰或電源故障中斷。使用特殊的測試工具來模擬系統故障,這些都通過自動化測試予以驗證。當然,故障依然存在。不過不像其他類似的專案,尤其是商業競品,sqlite誠實地處理所有的故障,提供故障列表和及時的故障報告和**變更表。

推箱子一關(熟悉的一關)

如果要改地圖,只要改字串部分 人與出口的位置和showmap那裡的i和j就好了 include include using namespace std int irow 1,icol 1 人的位置 int c1row 3,c1col 7,c2row 4,c2col 7,c3row 5,c3col 7...

sqli labs第一關 詳解

sqli labs第一關 方法一 手工注入 方法二 sqlmap工具 兩種方式,都可以學學,順便學會用sqlmap,也是不錯的。不多說,我們開始吧 方法一 來到第一關,圖上說我們需要乙個數字的引數 於是我們先手工注入?id 1 and 1 1 跟?id 1 and 1 2發現頁面沒有報錯 每張截圖上...

upload第一關至第五關

前端認證 一共有四種繞過前端上傳的方法。上傳時字尾名為jpg,再用bp抓包將其改為hph 按f12開啟 function checkfile 1判斷是不是後端的校驗 2測試上傳檔名 一般jpg可以 3content type 值的修改 content type image jpeg 與第一關第二種方...