欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

牛腩學(xué)習(xí)sqlite - 簡(jiǎn)記

系統(tǒng) 2020 0
??? 到 http://www.sqlite.org 網(wǎng)站(發(fā)現(xiàn)好多非盈利性的機(jī)構(gòu)都愛用org的,呵呵,看來(lái)我的 http://www.niunan.org 還是申請(qǐng)對(duì)了,唉,可惜niunan.com被人家拿來(lái)了,要不然加上我現(xiàn)在有的niunan.net和niunan.org那就太prefect了!)上下載最新的sqlite,下載下來(lái)壓縮出來(lái)到D盤的sqlitetest目錄下,如圖:
???
??? 然后打開CMD命令窗口,切換到D盤的sqlitetest目錄下,如圖:
???
??? 新建立一個(gè)數(shù)據(jù)庫(kù),在CMD窗口下輸入
引用
sqlite3 test
,如圖:
???
??? test就是我們的數(shù)據(jù)庫(kù)文件名,注意這里沒有后綴名,實(shí)際你也可以給他一個(gè)后綴名的,比如sqlite3 test.db,甚至可以是sqlite3 test.php,執(zhí)行了這條命令之后,假如在當(dāng)前的sqlitetest目錄下沒有建立過test數(shù)據(jù)庫(kù)的話則是建立一個(gè)空的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名叫test,否則則是打開當(dāng)前sqlitetest目錄下的test數(shù)據(jù)庫(kù),注意,如果是新建立數(shù)據(jù)庫(kù)的話那么這時(shí)數(shù)據(jù)庫(kù)里是空的,這時(shí)候在當(dāng)前的sqlitetest目錄下新建立的數(shù)據(jù)庫(kù)test并不會(huì)顯示出來(lái)。如圖,這是執(zhí)行了創(chuàng)建命令之后的sqlitetest目錄:
???
??? 這時(shí)我們輸入
引用
.database
指令查看當(dāng)前的數(shù)據(jù)庫(kù)信息后,sqlitetest目錄下才會(huì)生成一個(gè)test文件,即我們建立的數(shù)據(jù)庫(kù),如圖:
???
??? 這時(shí)候就看到sqlitetest目錄生成的test文件了
??? 接下來(lái)就輪到建立表了,在官網(wǎng)上看了一下,其實(shí)官網(wǎng)上的英文說(shuō)明文檔也都是些簡(jiǎn)單的英文的,基本上連詞成句都能知道是什么意思了,上面說(shuō)到sqlite數(shù)據(jù)庫(kù)的表的字段的類型其實(shí)就5種類型(TEXT、NUMERIC、INTEGER、REAL、NONE),而且好像在建立表的時(shí)候?qū)懙念愋筒槐貙憚倓偭谐龅膸追N類型的全稱的,上面說(shuō)
??? 1、如果你寫的類型中含有int字符的那么他就是INTEGER
??? 2、如果寫的類型中含有"CHAR", "CLOB", 或者 "TEXT" 字符的那么就是TEXT類型
??? 3、如果寫的類型中含有 "REAL", "FLOA", 或者 "DOUB" 字符的那么就是REAL類型
??? 4、其他幾句英文不太明白說(shuō)什么了,呵呵,英文好的朋友可以來(lái)這里看, http://www.sqlite.org/datatype3.html
??????? 我們?cè)囋嚳磩?chuàng)建一張表看看,在這里我創(chuàng)建的同時(shí)也設(shè)置主鍵primary key,不知道這個(gè)sqlite創(chuàng)建主鍵是不是這樣子設(shè)置的,我們輸入創(chuàng)建table的指令:
引用
create table person(id int primary key,name nvarchar(10),age integer,address text);
如圖:
???
??? 我們可以看到,如果輸入的語(yǔ)句出錯(cuò)的話是會(huì)直接在當(dāng)前命令窗口中提示的,輸入正確的話就什么都沒提示了,而且每條SQL語(yǔ)句后都必須以分號(hào);結(jié)尾,這個(gè)和MYSQL一樣
??? 我們可以通過
引用
.table
指令來(lái)查看當(dāng)前的數(shù)據(jù)庫(kù)中所有的表的信息,如圖:
???
??? 那么除了.database和.table這兩個(gè)sqlite指令外還有哪些指令呢?我們可以通過
引用
.help
來(lái)查看,如圖:
?????
??? 注意,在輸入sqlite指令的時(shí)候不要又多余來(lái)個(gè)分號(hào);結(jié)尾。。。
??? 我們可以看到,又是一大串的E文,其實(shí)也都是些簡(jiǎn)單的E文,連詞成句也基本搞掂。。
??? 看到有個(gè)
引用
.schema
指令,我們來(lái)試試,后面跟的是表的名稱,如圖:
???
??? 可以看到,該指令把表的創(chuàng)建語(yǔ)句給我們打出來(lái)了。
??? 我們來(lái)插入一條數(shù)據(jù)再選擇出來(lái)試試看,在這里我不插入ID列,看看有沒有什么問題。
???
??? 我們可以看到,插進(jìn)去了,但是選出來(lái)的前面的ID號(hào)是空的,我們?cè)俨迦胍粭l再選擇看看
???
??? 暈,也能插進(jìn)去,也能選擇出來(lái),那么就是我前面建立的SQL語(yǔ)句中的primary key不起作用了,后來(lái)自己上網(wǎng)搜索了一下,發(fā)現(xiàn)其實(shí)在建立表的時(shí)候設(shè)置主鍵的時(shí)候必須得寫integer primary key,這樣在每插入一條數(shù)據(jù)庫(kù)時(shí)候那個(gè)字段都會(huì)自動(dòng)增長(zhǎng)的,相應(yīng)的起到一個(gè)主鍵的功能,我把整個(gè)表刪除了再重新建立了一次,如圖:
???
??? OK,這時(shí)我們插入數(shù)據(jù)的時(shí)候可以看到,前面的ID字段自增了,嘿嘿。
??? 如果我們有很多條語(yǔ)句要批量插入的話怎么辦?我們?cè)趕qlitetest目錄下建立一個(gè)sql_ins.txt文本文檔,里面寫上我們的插入語(yǔ)句,如圖:
???
???? 然后我們可以使用sqlite中的.read指令來(lái)進(jìn)行讀取,如圖:
???
??? 這樣我們就成功的導(dǎo)入了我們的數(shù)據(jù)了。
??? 接下來(lái)是一個(gè)字段連接的問題,這個(gè)問題群里的朋友提過,自己試著用MSSQL的方法測(cè)試不成功,正常來(lái)說(shuō)應(yīng)該是如下SQL語(yǔ)句:
[sql]select '姓名:'+name+',年齡:'+age from person;
[/sql]??? 但是在SQLITE中執(zhí)行了會(huì)選擇出錯(cuò)誤的數(shù)據(jù),最后搜索后發(fā)現(xiàn)原來(lái)sqlite中的連接字符是||或符號(hào),正確的SQL語(yǔ)句應(yīng)該是:
[sql]select '姓名:'||name||',年齡:'||age from person;
[/sql]???
??? 接下來(lái),就是至今為止最激動(dòng)人心的時(shí)刻,就是sqlite的分頁(yè),呵呵,和MYSQL一樣的,可以直接用limit來(lái)進(jìn)行分頁(yè)了,就是因?yàn)檫@個(gè),我開始有把我的Access的博客轉(zhuǎn)為sqlite存儲(chǔ)數(shù)據(jù)的沖動(dòng)了。呵呵。。。
???
??? 命令行的操作就到這里,接下來(lái)該用圖形管理工具了。。試用了下,感覺sqlitespy不錯(cuò),其實(shí)我也就用過sqlitespy,其他的管理工具都沒用過。。呵呵。。大家可以到該網(wǎng)站下載最新版: http://www.yunqa.de/delphi/doku.php/products/sqlitespy/index ??? 下載下來(lái)后解壓出來(lái),其實(shí)也就兩個(gè)文件,一個(gè)Exe,另一個(gè)應(yīng)該是示例數(shù)據(jù)庫(kù):
???
??? 運(yùn)行那個(gè)exe文件,可以看到是英文界面,不過都是簡(jiǎn)單的英文,都應(yīng)該能看得懂的,打開我們剛剛在命令行下創(chuàng)建的數(shù)據(jù)庫(kù),注意是打開,別選成上面那個(gè)new ....新建數(shù)據(jù)庫(kù)了。
???
??? 發(fā)現(xiàn)雙擊了exe文件運(yùn)行以后目錄下又會(huì)多出一個(gè)SQLiteSpy.db3數(shù)據(jù)庫(kù)了,應(yīng)該是他自動(dòng)生成的吧
???
??? 在打開的選擇數(shù)據(jù)庫(kù)的窗口中看不到我們剛剛建立的test數(shù)據(jù)庫(kù),因?yàn)槲覀儧]有用到后綴外,軟件默認(rèn)顯示的是db3和db后綴名的文件的,我們選擇顯示所有文件,然后就可以看到了
???
??? 選擇test數(shù)據(jù)庫(kù)后打開person表,問題出來(lái)了,竟然是亂碼,暈。。可是剛剛我們?cè)贑MD命令窗口中明明是可以查詢出中文出來(lái)的
???
??? 我們執(zhí)行一條語(yǔ)句看看,F(xiàn)9是執(zhí)行語(yǔ)句
???
??? 然后我們?cè)俨榭幢頂?shù)據(jù),可以看到,插入的中文竟然可以正常顯示出來(lái)了
???
??? 暈啊。。搞不懂是怎么回事,應(yīng)該是編碼的問題,可是我GOOGLE了蠻久都沒有找到什么解決方法
??? 先不管這些,繼續(xù)下一步,.NET查詢SQLITE,上網(wǎng)找了下,下載System.Data.SQLite.dll,可到這里下載 http://sqlite.phxsoftware.com/ ??? 用VS建立一個(gè)網(wǎng)站,把上面下載的DLL放到BIN目錄下,然后寫代碼,和平時(shí)寫的MSSQL的代碼基本一樣的,還真不錯(cuò)。
???
gv是一個(gè)gridview控件,這里只是簡(jiǎn)單的顯示表中數(shù)據(jù)而已,結(jié)果出來(lái)的界面不出所料,有亂碼,郁悶,但是最后一條記錄又不是亂碼,那條記錄是我在sqlitespy軟件中添加的
???
??? 至于怎么解決這個(gè)亂碼的問題,本人GOOGLE過多次,也找不到解決的方法,只能留待高人解決!!!
??? 認(rèn)真寫篇博客還真累人。。。整整花了一上午。。。因?yàn)檫@個(gè)亂碼問題,把我從access轉(zhuǎn)到sqlite的決定又降低了不少!!!

牛腩學(xué)習(xí)sqlite - 簡(jiǎn)記


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 中文字幕在线精品 | 在线成人免费观看视频 | 日韩精品免费在线视频 | 福利网在线| 九九久久精品 | 91婷婷色 | 国产在线观看福利 | 亚洲国产成人av好男人在线观看 | 91私密视频 | 黄色毛片a | 日韩在线观看一区二区不卡视频 | 欧美成人精品欧美一级 | 国产一区欧美 | 波多野结衣hd在线播放 | 特黄级| 欧美精品第十页 | 国产精品久久久久久久久久免费看 | 久久成人免费观看草草影院 | A片扒开双腿猛进入免费 | 天天天天做夜夜夜夜做 | 亚洲狠狠婷婷综合久久蜜桃 | 欧美日韩精品一区二区 | 亚洲人成网站看在线播放 | 国产视频aaa| 九九久久九九久久 | 91白丝制服被啪到喷水在线 | 一级@片| 欧美激情日韩 | 一级黄片毛片 | 日韩精品区 | 亚洲电影免费观看高清完整版在线观 | 91在线网| 成人中文字幕在线 | 国产一级视频 | 亚洲视频在线网站 | 国产98在线传媒在线视频 | 五月婷婷激情第五季 | 久久久久久免费一区二区三区 | 久草在线播放视频 | 大伊香蕉在线观看视频 wap | 午夜视频在线免费观看 |