SQLite數(shù)據(jù)庫常用命令_第1頁
SQLite數(shù)據(jù)庫常用命令_第2頁
SQLite數(shù)據(jù)庫常用命令_第3頁
SQLite數(shù)據(jù)庫常用命令_第4頁
SQLite數(shù)據(jù)庫常用命令_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SQLite數(shù)據(jù)庫入門及常用命令SQLite軟件包中包含了一個名字叫做sqlite3的命令行,它可以讓用戶手工輸入并執(zhí)行面向SQLite數(shù)據(jù)庫的SQL命令。本文檔提供了一個較為詳盡的關于sqlite3的使用說明。啟動sqlite3程序,僅僅需要敲入帶有SQLite數(shù)據(jù)庫名字的“sqlite3”命令即可。如果文件不存在,則創(chuàng)建一個新的數(shù)據(jù)庫文件。然后,sqlite3程序將提示你輸入SQL語句。敲入SQL語句,以分號“;”結束,敲擊回車鍵后,SQL語句就會執(zhí)行。例如,創(chuàng)建一個包含一個表“tbl1”名稱為“ex1”的SQLite數(shù)據(jù)庫,你可以這樣操作:你可以通過敲擊你所用系統(tǒng)的文件結束符(通常是Ct

2、rl+D)或者中斷字符(通常是Ctrl+C),來終止sqlite3程序。請記得在每個SQL語句結束后敲入分號!sqlite3程序通過查找分號來決定一個SQL語句是否結束。如果你省略分號,sqlite3將給你一個連續(xù)的命令行提示符并等你給當前的SQL命令添加更多的文字。這個特點很利于多行的SQL語句輸入。SQLite數(shù)據(jù)庫的框架被保存在一個名叫“sqlite_master”的特殊表中。你可以像查詢其他表一樣通過執(zhí)行“SELECT”語句查詢這個特殊的表:但是,我們不能在sqlite_master表中執(zhí)行諸如DROP TABLE、UPDATE、INSERT或者DELETE之類的命令。Sqlite_m

3、aster表在你創(chuàng)建、刪除和索引數(shù)據(jù)庫時自動更新這個表。我們不能手工地更改這個表。temporary表的結構沒有存儲在“sqlite_master”表中,這是由于temporary表對應用是不可見的,而不是應用程序創(chuàng)建的。temporary表的結構是被存儲在另外一個名叫“sqlite_temp_master”的特定表中。sqlite3的特殊命令。大多數(shù)的時候,sqlite3讀入用戶輸入的行,并把它們傳遞到SQLite庫中去運行。但是,如果用戶輸入的行以一個點“.”開始,那么,這行將被sqlite3程序自身截獲并進行解釋。這些“點命令”通常被用來改變查詢輸出的格式,或者執(zhí)行某個預定義的查詢語句。

4、你可以在任何時候輸入“.help”,列出可用的“點命令”。sqlite3命令可以以8中不同的格式輸出查詢結果:“csv”、“列”、“html”、“插入”、“行”、“制表”和“tcl”。你可以使用“.mode”這個點命令來在這些輸出格式之間進行切換。默認的輸出格式是“列表”。在列表模式下,每條查詢結果記錄被寫在一行中,并且,每列之間以一個字符串分隔符隔開。默認的分隔符是一個管道符號“|”。列表符號模式在當你輸出查詢結果到另外一個字符處理器的程序(如awk)中時是尤為有用的:我們也可以使用“.separator”點命令來改變分界符。例如,為了把分隔符改為一個逗號和空格,我們可以這么做:在“l(fā)ine

5、”模式下,每一個位于條記錄中的列在它自己那行顯示。每行由列名、一個等號和列數(shù)據(jù)構成。下一條記錄以一個空行隔開:在列模式下,每條記錄在一個單獨的行中以數(shù)據(jù)列對齊的方式顯示:在默認的情況下,每列至少10個字符寬。太寬的數(shù)據(jù)將被截取。我們可以用點命令“.width”來調整列寬:上面的例子中,“.width”命令設置第一列寬為15,第二列寬為15。其他的列寬不變。如果你指定一列寬為0,那么這個列寬將自動以下面三個數(shù)字中的最大值最為列寬:10、表頭寬度和最寬的數(shù)據(jù)列的寬度。這可以讓列自動調整寬度。每列的默認值設置為自動調整的0值。上述輸出中,其實還可以輸出列標的,這個可以使用“.header”點命令和開

6、啟和關閉:另外一個有用的輸出模式是“insert”。在插入模式下,查詢出的數(shù)據(jù)被格式化為看起來像SQL INSERT語句那樣的樣式。我們可以利用插入模式來產生文件(便于)以后用于不同數(shù)據(jù)庫的輸入。當指定為插入模式時,必須給定一個特定參數(shù)就是要插入的表名。例如:最新的輸出格式是“html”。在這種模式下,sqlite3把查詢的結果寫作XHTML表。開始的<TABLE>和結束的</TABLE>(標記)沒有寫出,但有<TR >、<TH >和<TD>等分界符。html輸出對于CGI來說是相當有用的:輸出到文件。默認情況向下,sqlite3把結

7、果送到標準輸出。我們可以使用點命令“.output”來改變它。只需要把輸出的文件名作為“.output”命令的輸出參數(shù),然后所有的后續(xù)查詢結果都將被寫到那個文件中。如果想改回到標準輸出,使用stdout作為“.output”的參數(shù)即可:查詢數(shù)據(jù)庫結構。sqlite3程序提供幾個有用的用于查詢數(shù)據(jù)庫結構的快捷命令。這些不是不可以用其他的方式來實現(xiàn),這些命令僅僅只是一個快捷方式而已。例如,為了取得當前數(shù)據(jù)庫中的表的列表,可以使用“.tables”命令:查詢特定表的索引?!?indices”命令可以列出特定表的所有索引,只需將表名傳遞給它作為參數(shù)即可。查詢創(chuàng)建數(shù)據(jù)庫的原始SQL語句?!?schema

8、”命令可以顯示原始的用于創(chuàng)建當前數(shù)據(jù)庫的CREATE TABLE和CREATE INDEX語句。如果你給“.schema”一個表名,它將顯示原始的創(chuàng)建該表和它所有索引的CREATE語句。查詢在當前連接下打開的數(shù)據(jù)庫的列表?!?databases”命令可以用來查看在當前的連接下我們打開的數(shù)據(jù)庫的列表。將整個數(shù)據(jù)庫轉換為ASCII文本文件?!?dump”命令可以將指定數(shù)據(jù)庫的所有信息導入到一個單一的ACSII文件中,這個文件完全可以用來以后進行數(shù)據(jù)庫的重構。一個用來制作一個數(shù)據(jù)庫檔案拷貝的最簡單的命令是:以后需要重構數(shù)據(jù)庫的時候,只需使用這個ACSII文件即可:“.explain”命令可以用來設置

9、輸出格式為“column”并設置列寬為EXPLAIN命令看起來比較合理的寬度。EXPLAIN命令是SQLite特有的SQL擴展,它是對調試有用。如果任何常規(guī)的SQL被EXPLAIN執(zhí)行,那么SQL命令將被分解并分析但不執(zhí)行。取而代之的是,虛擬機指令序列將被用于執(zhí)行SQL命令并返回一個類似的查詢結果:“.timeout”命令用來設置sqlite3等待一個試圖存儲文件鎖定清除直到錯誤返回的總時間。默認的超時值是0,因此,如果任何需要的數(shù)據(jù)庫表或序列被鎖定時它將立即返回一個錯誤?!?exit”命令用來退出sqlite3環(huán)境。在命令和腳本中使用sqlite3。一個在腳本中使用sqlite3的方式是,利用“echo”或“cat”來產生一個命令序列在一個文件中,然后,當從一個產生命令行中重定向時調用sqlite3。它是非常有用的,并且適合很多環(huán)境。這種方式下,帶來一個的附加的便利就是,sqlite3允許一個單一的SQL語句在命令行中作為數(shù)據(jù)庫名后的第二個參數(shù)輸入。當sqlite3程序帶著兩個參數(shù)啟動時,第二個參數(shù)被傳遞給SQLite庫處理,查詢以列表模式打印到標準輸出,然后程序退出。這個機制被設計用于讓sqlite3容易于連接諸如“awk”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論