sqlite3介紹、安裝及基本語法

一、sqlite3的簡介與語法
  1. 什麼是SQLite3?
    sqlite3是一個進程內的庫,實現了自給自足、無服務器、零配置、事務性的SQL數據庫引擎。它是一個增長最快的數據庫引擎。它不是一個獨立的進程,可以按應用程序需求進行靜態或動態連接,SQLite直接訪問其存儲文件。
  2. 爲什麼要使用sqlite?
  • 不需要一個單獨的服務器進程或操作的系統(無服務器的)。
  • SQLite 不需要配置,這意味着不需要安裝或管理。
  • 一個完整的 SQLite 數據庫是存儲在一個單一的跨平臺的磁盤文件。
  • SQLite 是非常小的,是輕量級的,完全配置時小於 400KiB,省略可選功能配置時小於250KiB。
  • SQLite 是自給自足的,這意味着不需要任何外部的依賴。
  • SQLite 事務是完全兼容 ACID 的,允許從多個進程或線程安全訪問。
  • SQLite 支持 SQL92(SQL2)標準的大多數查詢語言的功能。
  • SQLite 使用 ANSI-C 編寫的,並提供了簡單和易於使用的 API。
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)Windows(Win32, WinCE, WinRT)中運行。
二、安裝sqlite3庫
  • github上sqlite3庫資料地址

  • 使用go get 命令安裝此軟件包:
    go get github.com/mattn/go-sqlite3

  • 在終端輸入: sqlite3出現以下,表示安裝成功:
    在這裏插入圖片描述

  • 安裝問題:
    在 import sqlite的時候,go build 會出現以下錯誤:

    exec: “gcc”: executable file not found in %PATH%

    原因是sqlite3是個cgo庫,需要gcd編譯c代碼,下載安裝 tdm-gcc即可(winodows版本)。點擊這裏下載喲
    在這裏插入圖片描述

三、語法
  1. 創建數據庫

    基本語法如下:這個用於在未進入sqlite3>狀態下,

    sqlite3 DatabaseName.db

    或者:使用 .open 命令打開數據庫,如果是不存在的數據庫則新建,否則打開已存在的數據庫。

    sqlite>.open userDB.db

    使用 .quit 命令退出sqlite3 提示符,如下所示:

    sqlite>.quit
    D:\go\src\MyTest>

    .dump命令
    使用sqlite3 .dump命令導出完整的數據庫在一個文本文件中,並將其轉儲到ASCII文本文件中。如下所示:

    D:\go\src\MyTest>sqlite3 userDB.db .dump > userDB.sql

    也可以使用簡單的方式從生成的testDB.sql中恢復,如下所示:

    D:\go\src\MyTest>sqlite3 userDB.db < userDB.sql

  2. 附加數據庫

    當在同一時間有多個數據庫可用,您想使用其中任何一個,sqlite的attach database 語句用來選擇一個特定的數據庫,使用該命令後,所有的sqlite語句將在附加的數據庫下執行。
    基本語法:

    attach database database_name as file_name;

    如果數據庫尚未被創建,上面的命令將創建一個數據庫,如果數據庫已經存在,則把數據庫文件名稱與邏輯數據庫file_name綁定在一起。

    sqlite> ATTACH DATABASE ‘userDB.db’ as ‘user’;
    sqlite>.databse
    main: D:\go\src\MyTest\userDB.db
    test: D:\go\src\MyTest\TestDB.db

  3. 分離數據庫

    SQLite的 DETACH DTABASE 語句是用來把命名數據庫從一個數據庫連接分離和遊離出來,連接是之前使用 ATTACH 語句附加的。如果同一個數據庫文件已經被附加上多個別名,DETACH 命令將只斷開給定名稱的連接,而其餘的仍然有效。您無法分離 main 或 temp 數據庫。如果數據庫是在內存中或者是臨時數據庫,則該數據庫將被摧毀,且內容將會丟失。

    sqlite> detach database ‘test’;
    sqlite> .database
    main: D:\go\src\MyTest\userDB.db
    sqlite>

最近老大說要用到sqlite3,所以來學習一下。我是從菜鳥教程上學習的,如果有其它更好的網站或資料希望大佬們提供並指教一下下,謝謝啦~(我主要使用的是Go語言)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章