淺析SQLite數(shù)據(jù)庫開發(fā)常用管理工具
SQLite數(shù)據(jù)庫開發(fā)主要面向手機以及其他移動設備。一般對于SQLite數(shù)據(jù)庫開發(fā),很多開發(fā)人員并不陌生。這里將介紹幾個SQLite數(shù)據(jù)庫開發(fā)的的實用工具,希望對大家有所幫助。
雖然說一直在用Sql Server2000和2005開發(fā)項目,但是某些時候想開發(fā)一些小的應用程序,用這種數(shù)據(jù)庫就不合適了,想想可以用ACCESS做數(shù)據(jù)庫,
但是一直覺得ACCESS是過去的東西,和C#不是很搭配。所以就在網(wǎng)上搜索了一下,發(fā)現(xiàn)有一個SQLite是支持.NET開發(fā)的綠色數(shù)據(jù)庫,直接一個System.Data.SQLite.DLL就可以訪問SQLite數(shù)據(jù)庫,進行各種操作,還支持事務。
找到了合適的數(shù)據(jù)庫,但是去官網(wǎng)下了安裝包一裝就一個DLL文件,并沒有附帶一個管理工具,那怎么建庫建表啊?看來只能在網(wǎng)上找第三方開發(fā)的工具了。
網(wǎng)上一搜索,還是有不少的管理工具,覺得還是按照我的安裝順序依次介紹吧。
最先找到的是SQLite Administrator,最新版本是0.8.3.2的,不過好像也是很久前更新的??戳俗髡叩慕榻B,數(shù)據(jù)庫基本功能都有了,軟件看著也滿漂亮。
優(yōu)點:這個軟件上手很方便,因為有中文語言??梢噪S時編寫SQL語句和查看表數(shù)據(jù),修改表數(shù)據(jù)
缺點:好像對中文支持不是很好,因為我通過程序輸入中文在它里面顯示是亂碼,但是在它里面看的是中文在顯示到開發(fā)程序上就是亂碼。
自己的第一個SQLite數(shù)據(jù)庫是它建的,表都建好了,到開發(fā)的時候發(fā)現(xiàn)對中文支持不好,可惜該軟件沒有地方改語言。我的軟件是開發(fā)完了,可是調試都是自己寫的
界面來看結果,不能通過管理工具改東西效率還是有點不高,沒有辦法最后還是狠心又在網(wǎng)上搜索
找到的第二個是SharpPlus SQlite Developer,是一款商業(yè)開發(fā)的。
優(yōu)點:也支持中文界面,并且字符編碼可以支持UTF-8等,所以不存在亂碼問題了。因為是商業(yè)的,功能上要多一些,操作上也更方便些。
缺點:感覺界面稍微土了點
第三個是SQLite Expert Personal 1.7.13
這個開發(fā)商比較好,提供了一個免費的版本,既然商業(yè)的收錢,那么先用用免費的看看。
優(yōu)點:支持UTF-8編碼,不會中文亂碼,界面跟SQLite Administrator一樣漂亮,操作很方便。
缺點:英文界面。
因為SQLite不需要服務端,又不支持存儲過程,自定義函數(shù)等功能,所以它的管理工具的功能也沒有那么復雜,但是SQLite并沒有其他數(shù)據(jù)庫那么好對付啊!
1。從www.sqlite.org下載SQLite 3.3.4的版本
為了方便,我把它解壓了,就一個SQLite3.exe,放入Windows目錄下。
Cmd 進入命令行
- 1)創(chuàng)建數(shù)據(jù)庫文件:
- >SQLite3 d:\test.db 回車
- 就生成了一個test.db在d盤。
- 這樣同時也SQLite3掛上了這個test.db
- 2)
- 用.help可以看看有什么命令
- >.help 回車即可
- 3)可以在這里直接輸入SQL語句創(chuàng)建表格 用;結束,然后回車就可以看到了
- 4)看看有創(chuàng)建了多少表
- >.tables
- 5)看表結構
- >.schema 表名
- 6)看看目前掛的數(shù)據(jù)庫
- >.database
- 7)如果要把查詢輸出到文件
- >.output 文件名
- > 查詢語句;
- 查詢結果就輸出到了文件c:\query.txt
- 把查詢結果用屏幕輸出
- >.output stdout
- 8)把表結構輸出,同時索引也會輸出
- .dump 表名
- 9)退出
- >.exit 或者.quit
2。從http://sqlite.phxsoftware.com/下載Ado.net驅動。
下載了安裝,在安裝目錄中存在System.Data.SQLite.dll我們只需要拷貝這個文件到引用目錄,并添加引用即可對SQLite數(shù)據(jù)庫操作了所有的Ado.net對象都是以SQLite開頭的,比如SQLiteConnection連接串只需要如下方式Data Source=d:\test.db 或者DataSource=test.db--應用在和應用程序或者.net能夠自動找到的目錄
剩下的就很簡單了~~
3。SQL語法
由于以前用SQLServer或者ISeries,所以DDL的語法很汗顏
1)創(chuàng)建一個單個Primary Key的table
- CREATE TABLE [Admin] (
- [UserName] [nvarchar] (20) PRIMARY KEY NOT NULL ,
- [Password] [nvarchar] (50) NOT NULL ,
- [Rank] [smallint] NOT NULL ,
- [MailServer] [nvarchar] (50) NOT NULL ,
- [MailUser] [nvarchar] (50) NOT NULL ,
- [MailPassword] [nvarchar] (50) NOT NULL ,
- [Mail] [nvarchar] (50) NOT NULL
- ) ;
2)創(chuàng)建一個多個Primary Key的table
- CREATE TABLE [CodeDetail] (
- [CdType] [nvarchar] (10) NOT NULL ,
- [CdCode] [nvarchar] (20) NOT NULL ,
- [CdString1] [ntext] NOT NULL ,
- [CdString2] [ntext] NOT NULL ,
- [CdString3] [ntext] NOT NULL,
- PRIMARY KEY (CdType,CdCode)
- ) ;
3)創(chuàng)建索引
- CREATE INDEX [IX_Account] ON [Account]([IsCheck], [UserName]);
還可以視圖等等。
4.還有很有用的SQL
- Select * from Sqlite_master
- Select datetime('now')
- Select date('now')
- Select time('now')
以及很多函數(shù),具體可以參考SQLite的wiki.
oh,還有就是看到有人說,好像成批插入的時候,啟動事務,比不啟動事務快n倍
還有就是盡量使用參數(shù)化的SQL,估計和商用DB一樣能夠自動Prepare.
===========
sqlite可以在shell/dos command底下直接執(zhí)行命令:
sqlite3 film.db "select * from film;"
輸出 HTML 表格:
sqlite3 -html film.db "select * from film;"
將數(shù)據(jù)庫「倒出來」:
sqlite3 film.db ".dump" > output.sql
利用輸出的資料,建立一個一模一樣的數(shù)據(jù)庫(加上以上指令,就是標準的SQL數(shù)據(jù)庫備份了):
sqlite3 film.db < output.sql
在大量插入資料時,你可能會需要先打這個指令:
begin;
插入完資料后要記得打這個指令,資料才會寫進數(shù)據(jù)庫中:
commit;
原文標題:開發(fā)SQLite數(shù)據(jù)庫常用的管理工具
鏈接:http://www.cnblogs.com/meiyou/
【編輯推薦】