安卓學習筆記29:使用SQLite數據庫

零、學習目標

  1. 學會利用sqlite3來建立以及操做數據庫
  2. 能利用SQLiteDatabase操做數據庫與表
  3. 能利用SQLiteOpenHelper操做數據庫與表

1、SQLite數據庫概述

SQLite是D. Richard Hipp用C語言編寫的開源嵌入式數據庫引擎。它支持大多數的SQL92標準,而且能夠在全部主要的操做系統上運行。html

一、SQLite構成

SQLite由SQL編譯器、內核、後端以及附件幾個部分構成。SQLite經過利用虛擬機和虛擬數據庫引擎(VDBE),使得調試、修改和擴展SQLite的內核變得更加方便,全部SQL語句都被編譯成易讀的、能夠在SQLite虛擬機中執行的程序集。SQLite的總體結構圖以下:
在這裏插入圖片描述web

二、SQLite數據類型

歸納來說,SQLite支持NULL、INTEGER、REAL、TEXT和BLOB數據類型,分別表明空值、整型值、浮點值、字符串文本、二進制對象。sql

三、SQLite數據庫特色

  • 值得一提的是,袖珍型的SQLite居然能夠支持高達2TB大小的數據庫,每一個數據庫都是以單個文件的形式存在,這些數據都是以B-Tree的數據結構形式存儲在磁盤上。
  • 在事務處理方面,SQLite經過數據庫級上的獨佔性和共享鎖來實現獨立事務處理。這意味着多個進程能夠在同一時間從同一數據庫讀取數據,但只有一個能夠寫入數據。在某個進程或線程想數據庫執行寫操做以前,必須得到獨佔鎖。在得到獨佔鎖以後,其餘的讀或寫操做將不會再發生。
  • SQLite採用動態數據類型,當某個值插入到數據庫時,SQLite將會檢查它的類型,若是該類型與關聯的列不匹配,SQLite則會嘗試將該值轉換成該列的類型,若是不能轉換,則該值將做爲自己的類型存儲,SQLite稱這爲「弱類型」。但有一個特例,若是是INTEGER PRIMARY KEY,則其餘類型不會被轉換,會報一個「datatype missmatch」的錯誤。
  • ACID,指數據庫事務正確執行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。一個支持事務(Transaction)的,必須要具備這四種特性,不然在事務過程(Transaction processing)當中沒法保證數據的正確性,交易過程很可能達不到交易方的要求。

2、SQLite數據庫管理工具

(一)數據庫控制檯管理工具 - sqlite3

一、下載sqlite3

在這裏插入圖片描述

  • 在Pecompiled Binaries for Windows下載 sqlite-tools-win32-x86-3340000.zip (1.76 MiB)
    在這裏插入圖片描述

二、解壓縮到指定目錄

  • 解壓縮到D盤根目錄
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 修改一下目錄名 - D:\sqlite3
    在這裏插入圖片描述

三、使用sqlite3操做數據庫及表

  • 建立學生數據庫 - student.db
    在這裏插入圖片描述
  • 若是數據庫存在,那麼sqlite3 <數據庫名>就是打開數據庫,不然就是新建數據庫
    在這裏插入圖片描述
  • 查看所有數據庫
    在這裏插入圖片描述
  • 建立學生表 - stu
    在這裏插入圖片描述
  • 查看錶結構
    在這裏插入圖片描述
  • 插入表記錄
    在這裏插入圖片描述
  • 查看錶記錄
    在這裏插入圖片描述
  • 更新表記錄 - 將「李紅雲」改爲「李小云」
    在這裏插入圖片描述
  • 刪除表記錄 - 刪除id爲2的記錄
    在這裏插入圖片描述
  • 刪除學生表
    在這裏插入圖片描述
  • 幫助命令
    在這裏插入圖片描述
  • 從新建立學生表並插入記錄
    在這裏插入圖片描述

(二)數據庫可視化管理工具 - Navicat

在這裏插入圖片描述

一、利用Navicat訪問sqlite3數據庫及表

在這裏插入圖片描述

二、新建查詢,進行查詢操做

在這裏插入圖片描述

本文同步分享在 博客「howard2005」(CSDN)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。數據庫

相關文章
相關標籤/搜索