亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQLite > 正文

嵌入式數據庫SQLite的一篇教程

2024-09-07 00:10:06
字體:
來源:轉載
供稿:網友

1 嵌入式數據庫簡介----SQLite


2 SQLite介紹 綱要

SQLite的發展
SQLite的優勢
SQLite的缺憾
SQLite的內部結構
SQLite數據庫的使用

SQLite的命令行接口
SQLite命令行使用
SQLite數據庫的編程接口

C/C++接口

簡單應用
自定義簡單函數
自定義聚合函數
自定義排序函數
PERL接口
SQLite數據庫在ASTRAL中的應用

SQLite在多級關聯中的應用
SQLite在IPIS中的應用
SQLite在web中的應用


3 SQLite的發展

2000年由D.Richard Hipp開始開發
2001年發布2.0v
2004年發布3.0v(采用了不同的數據文件格式以及編程接口)
目標
易于管理、操作、維護、自定義以及提供易用的編程接口


4 SQLite的優勢

內存占用量小
比MySQL(2倍), PostgreSQL(20倍)快
ACID兼容(原子性,一致性,獨立性,可持久性),支持視圖,子查詢,觸發器
單個庫文件中包含數據庫引擎與接口,且其運行不依賴其它庫
可以將數據放進單個文件
為C/C++, Perl,PHP等應用提供了接口
免費
允許為SQL命令集動態添加自定義函數(簡單函數及聚集函數),而無需重編SQLite庫


5 SQLite的缺點

事務處理并發性
SQLite通過數據庫級上的獨占性和共享鎖來實現獨立事務處理,這意味著當多個進程或線程在同一時間可以從數據庫讀取數據,但是只能有一個可以同時寫入,在寫入之前,必須獲得獨占鎖,其它的讀操作不允許發生。
性能
在創建索引( CREATE INDEX)和刪除表( DELTE TABLE)時明顯比其它數據庫慢
用戶管理/安全
數據庫的訪問是基于操作系統對文件的控制來控制的,不能通過用戶來區分數據庫中的不同數據庫.
舉例,將數據庫文件去寫權限,然后向其中插入或刪除數據條目,將提示寫失敗。但是不能通過數據庫本身的來對權限進行設置。
在網上已經有一些SQLite的安全問題的解決方案,但大多數是商業化的,有些提供在整個數據庫上的加密,有些提供在數據級別的加密。比如secure SQLite之類。

6 SQLite的內部結構

  在內部,SQLite 由以下幾個組件組成:SQL 編譯器、內核、后端以及附件。SQLite 通過利用虛擬機和虛擬數據庫引擎(VDBE),使調試、修改和擴展 SQLite 的內核變得更加方便。所有 SQL 語句都被編譯成易讀的、可以在 SQLite 虛擬機中執行的程序集。


7 SQLite數據庫的使用

SQLite命令行接口
SQLite除庫本身外,還包含命令行接口,可以在$SQLITE_HOME/bin下發現sqlite/sqlite3,
命令行功能介紹

運行方式:sqlite DBFile
得到提示符sqlite>
運行.help(注意sqlite命令行提供的命令都以”.”開頭,可以看到sqlite命令行接口提供下面的功能.


8 SQLite命令行功能簡介

SQLite命令行功能簡介
DML/DDL語句的使用和以前一致,不做介紹
.databases 列出數據庫文件名
.tables ?PATTERN? 列出?PATTERN?匹配的表名
.import FILE TABLE 將文件中的數據導入的文件中
.dump ?TABLE? 生成形成數據庫表的SQL腳本
.output FILENAME 將輸出導入到指定的文件中
.output stdout 將輸出打印到屏幕
.mode MODE ?TABLE? 設置數據輸出模式(csv,html,tcl…
.nullvalue STRING 用指定的串代替輸出的NULL串
.read FILENAME 執行指定文件中的SQL語句
.schema ?TABLE? 打印創建數據庫表的SQL語句
.separator STRING 用指定的字符串代替字段分隔符
.show 打印所有SQLite環境變量的設置
.quit 退出命令行接口


9 SQLite命令行功能使用

下面舉例說明SQLITE命令行的常規使用:
SQLite數據導入

創建數據文件
這個文件可能來自其它的其它程序的輸出之類,現只我們手功創建下面的數據文件data.txt(用逗號分隔):

id, name,gender, age
1,dq,male,24
2,jz,female,27
3.pp,male,26
4,cj,male,28
5,zc,male,25
創建數據庫表

五種數據類型
TEXT,NUMERIC,INTEGER,REAL,NONE
數據類型的轉換
向保存的目標類型轉換,如將text保存到integer,則試著將文件轉為數字(int或float),如果轉換失敗,則做為文件保存.
數據庫表創建
shell> sqlite3 test.db
sqlite> create table employee( id integer primary key, name text, gender text, age integer );


10 SQLite命令行功能使用

數據導入
sqlite>.import data.txt employee
sqlite提示:data.txt line1:expected 4 coloumns of data but found 1;
從經驗應該能看出是字符分隔符有問題,先來看看系統用什么樣的提示符:
.show之后可以看到 separator: “|”,也就是說系統默認的分隔符為”|”面不是”,”,下面修改分隔字符:
sqlite>.separator “,”
sqlite>.import data.txt employee
sqlite> select * from employee where id > 2;
sqlite> select * from employee where name > 9999999999999;
上面這句用來說明text>integer(這個和比較字符的內碼得到的結果是相同的)
數據比較

NULL數字之間用數學比較方法比較
TEXT/BLOB用memcpy()進行比較
比較方法是可以自已定義或者重載的(我們將在后面提及中文字串的比較)
Ex: sqlite> select id >2, name > ‘dong’, gender=‘male’ from employee;

0,1,1
0,1,0
1,1,1
1,0,1
1,1,1

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品亚洲夜色av98在线观看| 欧美中文字幕在线| 久久人人爽国产| 国产精品ⅴa在线观看h| 欧美日韩国产丝袜美女| 欧美成人激情在线| 亚洲自拍偷拍网址| 欧美精品在线免费播放| 国产女人精品视频| 国产成人一区二区在线| 69av在线视频| 日本欧美精品在线| 欧美一区视频在线| 国产精品老女人精品视频| 亚洲第一区第一页| 欧美成人激情在线| 日韩精品在线观看一区| 久久久久久美女| 国产成人精品在线观看| 成人久久久久爱| 国产91精品在线播放| 欧美日韩国产影院| 亚洲国产成人一区| 欧美精品videosex牲欧美| 国产69精品久久久| 亚洲激情在线观看视频免费| 视频在线一区二区| 国产综合视频在线观看| 精品中文字幕久久久久久| 欧美成人免费网| 亚洲va久久久噜噜噜久久天堂| 国产精品亚洲第一区| 搡老女人一区二区三区视频tv| 久久91精品国产91久久跳| 亚洲国产天堂久久综合| 伊是香蕉大人久久| 成人欧美一区二区三区在线湿哒哒| 欧美日韩国产成人高清视频| 亚洲视频在线免费看| 精品久久久久久久大神国产| 日韩在线观看高清| 国产成人综合av| 欧美国产第一页| 中文字幕一区二区三区电影| 国产精品直播网红| 操人视频在线观看欧美| 美日韩精品免费视频| 日韩黄色av网站| 久久久久久久999精品视频| 国产视频999| 在线成人激情黄色| 久久99视频免费| 欧美日韩国产区| 在线日韩第一页| 中文.日本.精品| 555www成人网| 91香蕉嫩草影院入口| 韩剧1988在线观看免费完整版| 日韩久久免费电影| 成人精品久久一区二区三区| 日韩欧美国产免费播放| 国模精品视频一区二区三区| 国产在线高清精品| 国产精品99久久久久久久久久久久| 亚洲三级黄色在线观看| 欧美专区在线视频| 中文字幕亚洲综合久久| 欧美—级高清免费播放| 日韩免费在线播放| 欧美一乱一性一交一视频| 96国产粉嫩美女| 亚洲激情久久久| 欧美在线观看日本一区| 欧美日韩性视频在线| 欧美激情乱人伦一区| 日本中文字幕不卡免费| 北条麻妃99精品青青久久| 欧美一级大片在线免费观看| 夜色77av精品影院| 午夜精品久久久久久99热软件| 97热在线精品视频在线观看| 久久久国产视频| 欧美电影《睫毛膏》| 亚洲视频在线观看免费| 日韩精品欧美国产精品忘忧草| 国产欧美日韩丝袜精品一区| 国产成人一区二| 国产成人+综合亚洲+天堂| 疯狂欧美牲乱大交777| 欧美日韩一区二区免费在线观看| 欧美精品生活片| 久久久之久亚州精品露出| 日韩av在线网站| 91麻豆国产语对白在线观看| 国产精品日韩在线播放| 国产亚洲欧洲高清| 中文字幕欧美视频在线| 久久中文字幕在线| 国色天香2019中文字幕在线观看| 国产激情999| 亚洲欧美福利视频| 久久综合色影院| 日韩电视剧免费观看网站| 国产v综合v亚洲欧美久久| 日韩毛片在线看| 久久精品99久久久香蕉| 精品视频一区在线视频| 国产福利视频一区| 懂色av中文一区二区三区天美| 久久亚洲精品毛片| 国产日韩在线一区| 欧美午夜片欧美片在线观看| 91日本在线观看| 欧美一区二区三区免费观看| 国产女精品视频网站免费| 国内精品久久久久久| 一区二区三区视频免费在线观看| 欧美电影在线观看网站| 超碰日本道色综合久久综合| 欧美激情国产高清| www亚洲精品| 国内成人精品视频| 岛国精品视频在线播放| 最近中文字幕2019免费| 欧美性感美女h网站在线观看免费| 国产成人精品av在线| 国产成人精品一区二区在线| 国产精品久久久久久久av大片| 欧美电影在线观看| 中文一区二区视频| 日韩av在线一区| 国产亚洲欧洲黄色| 热99精品只有里视频精品| 亚洲乱码国产乱码精品精| 欧美激情久久久| 一本色道久久88亚洲综合88| 欧洲午夜精品久久久| 中文字幕精品av| 亚洲精品久久久一区二区三区| 欧美专区在线观看| 日韩中文字幕在线免费观看| 欧美视频一二三| 日本亚洲精品在线观看| 国产精品第一第二| 色综合影院在线| 欧美激情视频一区二区| 色综合久综合久久综合久鬼88| 欧美另类69精品久久久久9999| 国内精品视频一区| 性欧美xxxx视频在线观看| 国产成人97精品免费看片| 日韩美女视频免费在线观看| 日韩欧美在线视频免费观看| 九九视频这里只有精品| 欧美最猛性xxxxx亚洲精品| 国产成人精品综合| 日韩有码视频在线| 亚洲精品suv精品一区二区| 久热99视频在线观看| 欧美大片第1页| 日韩中文字幕免费| 97在线视频免费观看| 原创国产精品91| 欧美视频国产精品|