SQLlite數(shù)據(jù)庫可能是目前來說最輕量級、使用最為廣泛的SQL數(shù)據(jù)庫。它本身又是開源的,自身包含在C中的一個相對小的庫中,支持ACID事務(wù)、零配置、儲存在單一磁盤文件中的一個完整的數(shù)據(jù)庫,它所使用的資源非常低,在幾百K的內(nèi)存環(huán)境下也可以穩(wěn)定運行,而目前支持的數(shù)據(jù)大小到2TB,自身又沒有什么額外的依賴、移植性好、支持多種開發(fā)語言,所以SQLlite被廣泛運用在各個系統(tǒng)平臺上、一些軟件應(yīng)用、小型網(wǎng)站、以及嵌入式應(yīng)用、簡單的數(shù)據(jù)分析、代替磁盤臨時文件、文件檔案、緩存等等。在Unix系統(tǒng)下一般默認就是有安裝過的,即使是沒有安裝也可以同在Windows、macOS中一樣到官網(wǎng)(http://www.sqlite.org/download.html)上把二進制包下載下來解壓后配置好PATH環(huán)境變量就可以使用,或者是下載源碼包編譯亦可,平時可以在系統(tǒng)中使用shell直接交互或者使用各個gui來使用。建立好的一個schema在SQLlite就是一存儲在磁盤上的一個文件,注意一旦刪除了表的數(shù)據(jù)文件數(shù)據(jù)就會丟失,至于使用也很簡單
成都創(chuàng)新互聯(lián)公司是專業(yè)的寧津網(wǎng)站建設(shè)公司,寧津接單;提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行寧津網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作![root@localhost data]# sqlite3 #調(diào)用二進制文件直接進入命令交互界面 [root@localhost data]# sqlite3 /data/my_test.db #建立一個名為my_test的schema后綴用什么都可以但是要注意不同的文件名后綴相同的文件名就是不同的文件,是完全2個完全獨立的schema,建議是用.db是標準的容易區(qū)分,如果有這個文件名的schema則不創(chuàng)建數(shù)據(jù)文件,建好了默認有一個main的database,其次默認建立的schema是不加密的,如果是重要數(shù)據(jù)建議加密 [root@localhost data]# sqlite3 /data/my_test.db #進入my_test的schema,要注意的是,如果是新建立的schema在其中沒有建立任何項目時是不會產(chǎn)生相應(yīng)的數(shù)據(jù)文件的 SQLite version 3.6.20 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .database #查看當前的schema下的database信息 seq name file --- --------------- ---------------------------------------------------------- 0 main /data/my_test.db sqlite> .help #幫助信息 sqlite> .exit #退出 sqlite> SELECT * FROM sqlite_master; #系統(tǒng)表,在SQLite中唯一的一張,是只讀的,是無法刪除的執(zhí)行刪除該表是是在做類似于flush的操作 sqlite> .show echo: off explain: off headers: off mode: list nullvalue: "" output: stdout separator: "|" width:以上就是SQLlite數(shù)據(jù)庫比較常用的交互命令,至于其他更多可以通過help查看,在這個就不做過多的介紹,在平時可以通過查詢SQLlite數(shù)據(jù)庫中唯一的一張系統(tǒng)表sqlite_master表獲知當前的schema下所有表、視圖、索引、觸發(fā)器相關(guān)等等信息,在sqlite_master表中有4個列:
type列記錄了項目的類型,如表、視圖、索引、觸發(fā)器 name列記錄了項目的名稱,如表名、索引名、視圖名等 tbl_name列記錄所從屬的表名,如索引所在的表名。對于表來說,該列就是表名本身 rootpage列記錄項目在數(shù)據(jù)庫頁中存儲的編號。對于視圖該列值為0,觸發(fā)器該列值NULL。 sql列記錄建表的DDL一些常用的系統(tǒng)表查詢:
sqlite> SELECT * FROM sqlite_master WHERE type = 'table'; #查看當前schema下所有表信息 sqlite> SELECT * FROM sqlite_master WHERE rootpage = 0; #查看當前schema下所有的視圖信息 sqlite> SELECT * FROM sqlite_master WHERE rootpage IS NULL; #查看當前schema下所有的視圖信息 sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'tablename'; #查看tablenameDDL或者直接使用schma命令查看 sqlite> .schema sqlite_master CREATE TABLE sqlite_master ( type text, name text, tbl_name text, rootpage integer, sql text );在SQLlite目前下有5種數(shù)據(jù)存儲類型:
數(shù)據(jù)存儲類型 | 說明 |
---|---|
NULL | 值是一個 NULL 值 |
INTEGER | 值是一個帶符號的整數(shù),根據(jù)值的大小存儲在 1、2、3、4、6 或 8 字節(jié)中 |
REAL | 值是一個浮點值,存儲為 8 字節(jié)的 IEEE 浮點數(shù)字 |
TEXT | 值是一個文本字符串,使用數(shù)據(jù)庫編碼(UTF-8、UTF-16BE 或 UTF-16LE)存儲 |
BLOB | 值是一個 blob 數(shù)據(jù),完全根據(jù)它的輸入存儲 |
而SQLlite其自身有支持列的親和數(shù)據(jù)類型、親和數(shù)據(jù)名稱概念。任何列仍然可以存儲任何類型的數(shù)據(jù),當數(shù)據(jù)插入時,該字段的數(shù)據(jù)將會優(yōu)先采用親緣類型作為該值的存儲方式,
如各種int型存入INTEGER中,在建好的表中用的是INTEGER類型,或者還是用其它的數(shù)據(jù)類型名稱,但是實際中還是存在INTEGER中,要注意的是SQLlite本身僅僅是一個很小的輕量級數(shù)據(jù)庫平時不要把SQLlite當成其它大型數(shù)據(jù)來使用,其次因為SQLlite的數(shù)據(jù)文件一般都是以文件的形式存儲的,而在平時就可以通過對其文件來進行壓縮備份即可
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。