網(wǎng)站首頁 編程語言 正文
前言
SQLite是一個(gè)進(jìn)程內(nèi)的庫,實(shí)現(xiàn)了自給自足的、無服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫引擎。它是一個(gè)零配置的數(shù)據(jù)庫,這意味著與其他數(shù)據(jù)庫不一樣,您不需要在系統(tǒng)中配置。就像其他數(shù)據(jù)庫,SQLite 引擎不是一個(gè)獨(dú)立的進(jìn)程,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動(dòng)態(tài)連接。SQLite 直接訪問其存儲文件。
為什么要使用SQLite
- 不需要一個(gè)單獨(dú)的服務(wù)器進(jìn)程或操作的系統(tǒng)(無服務(wù)器的)。
- SQLite 不需要配置,這意味著不需要安裝或管理。
- 一個(gè)完整的 SQLite 數(shù)據(jù)庫是存儲在一個(gè)單一的跨平臺的磁盤文件。
- SQLite 是非常小的,是輕量級的,完全配置時(shí)小于 400KiB,省略可選功能配置時(shí)小于250KiB。
- SQLite 是自給自足的,這意味著不需要任何外部的依賴。
- SQLite 事務(wù)是完全兼容 ACID 的,允許從多個(gè)進(jìn)程或線程安全訪問。
- SQLite 支持 SQL92(SQL2)標(biāo)準(zhǔn)的大多數(shù)查詢語言的功能。
- SQLite 使用 ANSI-C 編寫的,并提供了簡單和易于使用的 API。
- SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運(yùn)行。
綜合來看,即輕量
兼容
多端
無需配置
無外部依賴
擁有簡單易懂的API
安全
在Android中如何使用
Android 提供的 SQLiteOpenHelper.java 是一個(gè)抽象類。那么在Eclipse中創(chuàng)建Class類時(shí),選擇此抽象類模板即可,而在Android Studio中,必須自己寫一個(gè)類來繼承它,根據(jù)平時(shí)類名稱簡潔易懂的習(xí)慣上,我們創(chuàng)建的都是MyDataBaseHelper.java或DataBaseHelper.java簡寫DBHelper.java。
數(shù)據(jù)庫如何創(chuàng)建
Android Studio中
右鍵需要?jiǎng)?chuàng)建數(shù)據(jù)庫.java文件的包,選擇new
,選擇新建Class
在彈出框中選擇輸入類名稱
這一行規(guī)定死了,只能是這樣的:
public class DBHelper extends SQLiteOpenHelper{ }
需要寫一個(gè)帶全部參數(shù)的DBHelper類的構(gòu)造函數(shù)以便于生成數(shù)據(jù)庫對象:
//帶有全部參數(shù)的構(gòu)造函數(shù),此構(gòu)造函數(shù)是必須需要的。Eclipse和Android Studio均有自動(dòng)填充功能 public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); }
繼承的抽象類SQLiteOpenHelper中的兩個(gè)抽象方法:
@Override public void onCreate(SQLiteDatabase db) { //創(chuàng)建數(shù)據(jù)庫sql語句 String sql = "create table user(name varchar(20))"; //執(zhí)行sql語句 db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }
Eclipse中
右鍵需要?jiǎng)?chuàng)建數(shù)據(jù)庫.java文件的包,選擇new
,選擇新建Class
在彈出框中選擇SQLiteOpenHelper
點(diǎn)擊Finish
即創(chuàng)建成功
數(shù)據(jù)庫如何生成
第一句代碼中,創(chuàng)建Activity時(shí)會自動(dòng)生成。在Activity中創(chuàng)建數(shù)據(jù)庫,這里我們給數(shù)據(jù)庫起名為“info.db”,數(shù)據(jù)庫版本號為1,代碼如下:
//依靠DatabaseHelper帶全部參數(shù)的構(gòu)造函數(shù)創(chuàng)建數(shù)據(jù)庫 DBHelper dbHelper = new DBHelper(MainActivity.this, "info.db",null,1); SQLiteDatabase db = dbHelper.getWritableDatabase();
數(shù)據(jù)庫的增刪改查
增
db.insert();
刪
db.delete();
改
db.update();
查
Cursor cursor = db.rawQuery("select * from info.db", null); if (cursor.getCount() != 0) { }
原文鏈接:https://blog.csdn.net/weixin_43017921/article/details/109399096
相關(guān)推薦
- 2022-08-05 C語言簡明介紹指針的使用_C 語言
- 2022-09-25 Stream流水線的實(shí)現(xiàn)原理是什么
- 2022-06-30 詳解Go語言中泛型的實(shí)現(xiàn)原理與使用_Golang
- 2022-07-15 Android?Camera開發(fā)實(shí)現(xiàn)可復(fù)用的相機(jī)組件_Android
- 2022-04-14 Python中的flask框架詳解_python
- 2024-01-30 MongoDB 聚合查詢在數(shù)據(jù)統(tǒng)計(jì)中的應(yīng)用
- 2022-05-12 小程序自定義日期組件,不顯示今日之后的日期
- 2022-10-02 iOS實(shí)現(xiàn)可拖動(dòng)的浮動(dòng)菜單_IOS
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支