sqlite3 shell的使用

來源:互聯網
上載者:User

標籤:

sqlite的安裝 
1. 首先是下載sqlite,可以該頁面下載:http://www.sqlite.org/download.html 
當前的最新版本為:sqlite-shell-win32-x86-3070701.zip這個是windows下sqlite的命令列管理工具,用它可以管理sqlite資料庫檔案 

同時最好把文檔也下載下來,裡麵包含了詳細的sqlite的使用說明:sqlite-doc-3070701.zip 

2. sqlite無需任何配置和安裝,只要將下載下來的shell檔案解壓到任何你覺得合適的地方,然後將其加入到path環境變數就可以了(加入path環境變數是為了直接在命令列使用sqlite3,不加的話需要詳細的指定sqlite3的路徑,如d:/sqlite/sqlite3)。 

3. 驗證一下是否安裝成功。 
 


要想掌握一個軟體的使用,最好的方式是使用軟體內建的協助和文檔,而不是一直利用google。文檔和協助一般包含了該軟體所有的用法,畢竟那是有軟體的開發人員所寫的,他對軟體是最瞭解的。 

首先來看一下sqlite的協助: 
win + r輸入cmd,進入命令列,並輸入sqlite3,進入sqlite的命令列管理工具。 
然後輸入.help,則可以看到sqlite3的管理工具的所有用法了: 
 

為了照顧e文不好的朋友,這裡將所有的命令解釋一遍,並給出相應的樣本: 
首先建立一個資料庫test.db,並在該資料庫中建立一張表user 

1.因為之前進入了sqlite3了,先用.quit退出sqlite 
2.再用sqlite3 test.db載入或建立指定資料庫 
3.然後用sql語句建立一個一張表user(關於sql語句,可以去看些sql入門的書籍,在sqlite文檔中也有對應的sql的介紹,不過感覺那個不適合入門,因為畢竟很多資料庫的基本知識裡面都沒有講到)(同時還需要注意的是sqlite是可以不指定列的類型的,這也是sqlite的一個特色,它的列類型是動態) 
4.然後又用到了一個顯示當前資料庫中存在的資料表的命令.tables(.help中倒數第三個) 
5.最後向資料表中插入了一條資料(sql語句,不是.help中的命令) 
 

接下來從上到下介紹所有命令的使用: 
.backup ?DB? FILE 
將資料庫檔案備份到指定的檔案中,預設(在不指定資料庫名時)會備份main資料庫) 
 
備份產生的檔案開啟後 



.bail ON|OFF 
設定在遇到錯誤時就停止sqlite工具的執行,預設時是OFF的。 


.databases 
列出(當前資料庫檔案中)附加的所有資料庫的名字和檔案 
 


.dump ?TABLE1? ?TABLE2? ... 
將資料庫列印為sql文字格式設定。如果?TABLE1?指定了,就只列印出名字中包含了TABLE1的資料表。 
 


.echo ON|OFF 
在顯示的結果前是否顯示輸入的命令 
注意:這個是以column模式顯示了,後面會講到如何將顯示方式設定為column 
 


.exit 
不解釋,退出程式 


.explain ?ON|OFF? 
開啟或關閉適合於的輸出模式。不指定ON或OFF時,預設為ON。 
 


.genfkey ?OPTIONS? 
OPTIONS有如下幾個值: 
--no-drop:不刪除舊的外鍵觸發器 
--ignore-error:忽略表的外鍵錯誤 
--exec:立即執行產生的sql語句 
這個應該是設定在違反外鍵約束時,sqlite如何做。具體的沒嘗試。 


.headers ON|OFF 
是否顯示表頭 
.mode MODE ?TABLE? 
設定輸出模式,當?TABLE?指定時,就是該輸出模式只應該在該表的輸出上 

.header on時的各輸出模式 
 

.header off時的各輸出模式 
 


.help 
顯示協助 


.import FILE TABLE 
讀取檔案中的資料插入到指定表中 
注意這裡的分隔字元.separator是\t,所以data.txt中是以tab分隔的,預設的是,(此時就是2,yuan2,2) 
 

 


indices ?TABLE? 
顯示指定表的所有索引。表沒指定時,顯示所有索引。 
 


.load FILE ?ENTRY? 
載入一個外部庫檔案 


.log FILE|off 
開啟或關閉日誌功能。 
關閉:.log off 
開啟,並將日誌輸出到標準輸出資料流:.log stdout 
開啟,並將日誌輸出到標準錯誤六:.log stderr 
開啟,並將日誌輸出到指定檔案:.log d:/sqlite3/log.txt 


nullvalue STRING 
值為NULL時,顯示的字串。預設為"" 
 


.output FILENAME 
將所有的輸出都輸出到指定檔案 
 


.output stdout 
將所有的輸出都輸出到標準輸出資料流(預設就是),就是輸出到控制台上 


.prompt MAIN CONTINUE 
替換標準的提示。未嘗試 


.quit 
不解釋,同.exit,退出程式。 


.read FILENAME 
執行指定檔案中的sql語句 
 
 


.restore ?DB? FILE 
從備份檔案中還原資料庫。預設是還原main資料庫。 

1. 首先我們先備份的main資料庫 
2. 然後將資料刪除 
3. 然後在還原main資料庫,看資料是否還原成功 
 


.schema ?TABLE? 
顯示指定表的建立語句。表未指定時,顯示所有表的建立語句。 

因為之前建立了索引,所以包含索引建立語句。 
 


.separator STRING 
設定輸出模式.mode和匯入資料.import的分隔字元。 
 


.show 
顯示當前的設定。 
 


.tables ?TABLE? 
列出所有表名。 


.timeout MS 
只在指定的毫秒內嘗試開啟鎖定的表,而不是一直嘗試開啟。 


.width NUM1 NUM2 ... 
設定.mode column中每個列的寬度。每個列預設的寬度是10個字元,過長時會被截斷。 

第一列設為1個字元,第二列設為0表示保持不變,第三類不設定也是保持不變 
 


.timer ON|OFF 
是否開啟cpu耗時度量。 

sqlite3 shell的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.