开发SQLite数据库常用的管理工具
?雖然說一直在用Sql Server2000和2005開發(fā)項(xiàng)目,但是某些時(shí)候想開發(fā)一些小的應(yīng)用程序,用這種數(shù)據(jù)庫就不合適了,想想可以用ACCESS做數(shù)據(jù)庫,
但是一直覺得ACCESS是過去的東西,和C#不是很搭配。所以就在網(wǎng)上搜索了一下,發(fā)現(xiàn)有一個(gè)SQLite是支持.NET開發(fā)的綠色數(shù)據(jù)庫,直接一個(gè)System.Data.SQLite.DLL就可以訪問SQLite數(shù)據(jù)庫,進(jìn)行各種操作,還支持事務(wù)。
找到了合適的數(shù)據(jù)庫,但是去官網(wǎng)下了安裝包一裝就一個(gè)DLL文件,并沒有附帶一個(gè)管理工具,那怎么建庫建表啊?看來只能在網(wǎng)上找第三方開發(fā)的工具了。
網(wǎng)上一搜索,還是有不少的管理工具,覺得還是按照我的安裝順序依次介紹吧。
?
最先找到的是SQLite Administrator,最新版本是0.8.3.2的,不過好像也是很久前更新的。看了作者的介紹,數(shù)據(jù)庫基本功能都有了,軟件看著也滿漂亮。
優(yōu)點(diǎn):這個(gè)軟件上手很方便,因?yàn)橛兄形恼Z言。可以隨時(shí)編寫SQL語句和查看表數(shù)據(jù),修改表數(shù)據(jù)
缺點(diǎn):好像對(duì)中文支持不是很好,因?yàn)槲彝ㄟ^程序輸入中文在它里面顯示是亂碼,但是在它里面看的是中文在顯示到開發(fā)程序上就是亂碼。
自己的第一個(gè)SQLite數(shù)據(jù)庫是它建的,表都建好了,到開發(fā)的時(shí)候發(fā)現(xiàn)對(duì)中文支持不好,可惜該軟件沒有地方改語言。我的軟件是開發(fā)完了,可是調(diào)試都是自己寫的
界面來看結(jié)果,不能通過管理工具改東西效率還是有點(diǎn)不高,沒有辦法最后還是狠心又在網(wǎng)上搜索
?
找到的第二個(gè)是SharpPlus SQlite Developer,是一款商業(yè)開發(fā)的。
優(yōu)點(diǎn):也支持中文界面,并且字符編碼可以支持UTF-8等,所以不存在亂碼問題了。因?yàn)槭巧虡I(yè)的,功能上要多一些,操作上也更方便些。
缺點(diǎn):感覺界面稍微土了點(diǎn)
?
第三個(gè)是SQLite Expert Personal 1.7.13
這個(gè)開發(fā)商比較好,提供了一個(gè)免費(fèi)的版本,既然商業(yè)的收錢,那么先用用免費(fèi)的看看。
優(yōu)點(diǎn):支持UTF-8編碼,不會(huì)中文亂碼,界面跟SQLite Administrator一樣漂亮,操作很方便。
缺點(diǎn):英文界面。
因?yàn)镾QLite不需要服務(wù)端,又不支持存儲(chǔ)過程,自定義函數(shù)等功能,所以它的管理工具的功能也沒有那么復(fù)雜,但是SQLite并沒有其他數(shù)據(jù)庫那么好對(duì)付啊!
1。從www.sqlite.org下載SQLite 3.3.4的版本
?? 為了方便,我把它解壓了,就一個(gè)SQLite3.exe,放入Windows目錄下。
?? Cmd 進(jìn)入命令行
?? 1)
?? 創(chuàng)建數(shù)據(jù)庫文件:
?? >SQLite3 d:\test.db 回車
?? 就生成了一個(gè)test.db在d盤。
?? 這樣同時(shí)也SQLite3掛上了這個(gè)test.db
?? 2)?
?? 用.help可以看看有什么命令
?? >.help 回車即可
?? 3)可以在這里直接輸入SQL語句創(chuàng)建表格 用;結(jié)束,然后回車就可以看到了
?? 4)看看有創(chuàng)建了多少表
?? >.tables?
?? 5)看表結(jié)構(gòu)
?? >.schema 表名
?? 6)看看目前掛的數(shù)據(jù)庫
?? >.database
?? 7)如果要把查詢輸出到文件
?? >.output 文件名
?? > 查詢語句;
?? 查詢結(jié)果就輸出到了文件c:\query.txt
?? 把查詢結(jié)果用屏幕輸出
?? >.output stdout
?? 8)把表結(jié)構(gòu)輸出,同時(shí)索引也會(huì)輸出
???? .dump 表名
?? 9)退出
?? >.exit 或者.quit
2。從http://sqlite.phxsoftware.com/下載Ado.net驅(qū)動(dòng)。
?? 下載了安裝,在安裝目錄中存在System.Data.SQLite.dll
??? 我們只需要拷貝這個(gè)文件到引用目錄,并添加引用即可對(duì)SQLite數(shù)據(jù)庫操作了
?? 所有的Ado.net對(duì)象都是以SQLite開頭的,比如SQLiteConnection
?? 連接串只需要如下方式
?? Data Source=d:\test.db 或者DataSource=test.db--應(yīng)用在和應(yīng)用程序或者.net能夠自動(dòng)找到的目錄
?? 剩下的就很簡(jiǎn)單了~~
3。SQL語法
?? 由于以前用SQLServer或者ISeries,所以DDL的語法很汗顏
?? 1)創(chuàng)建一個(gè)單個(gè)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)建一個(gè)多個(gè)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,還有就是看到有人說,好像成批插入的時(shí)候,啟動(dòng)事務(wù),比不啟動(dòng)事務(wù)快n倍
還有就是盡量使用參數(shù)化的SQL,估計(jì)和商用DB一樣能夠自動(dòng)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
利用輸出的資料,建立一個(gè)一模一樣的數(shù)據(jù)庫(加上以上指令,就是標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫備份了):
sqlite3 film.db < output.sql
在大量插入資料時(shí),你可能會(huì)需要先打這個(gè)指令:
begin;
插入完資料后要記得打這個(gè)指令,資料才會(huì)寫進(jìn)數(shù)據(jù)庫中:
commit;
?
本文來源:http://www.cnblogs.com/meiyou/archive/2009/09/12/1565497.html
轉(zhuǎn)載于:https://blog.51cto.com/2845385/1092098
總結(jié)
以上是生活随笔為你收集整理的开发SQLite数据库常用的管理工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 郝蕾怒骂河南人---江湖再起风云,网络哪
- 下一篇: 长的帅不是你的错,长的没特点就不应该了