SQLite資料庫管理的相關命令

來源:互聯網
上載者:User

  1.建立資料庫

  啟動命令列,通過輸入如下命令開啟Shell模式的CLP:

  sqlite3 test.db

  雖然我們提供了資料庫名稱,但如果該資料庫不存在,SQLite實際上就未建立該資料庫,直到在資料庫內部建立一些內容時,SQLite才建立該資料庫。

  2.建立資料表

  sqlite> create table Member(id integer primary key, name text, age integer,addr text);

  註:id為主鍵,該列預設具備自動成長的屬性。

  3.插入資料

  sqlite> insert into Member values(0,'wwl',21,'上海');//id=0的列必須不存在,否則會出錯

  或者sqlite> insert into Member(name,age,addr) values('wwl',21,'上海');

  3.查詢資料

  sqlite>.mode column

  sqlite>.headers on

  sqlite> select * from Member;

  註:select語句前面的兩個命令(.headers和.mode)用於改善顯示格式,可以不要。

  4.建立視圖和索引

  sqlite> create view schema as select * from Member;

  sqlite> create index Member_Idx on Member(id)  

  5.匯出資料

  使用.dump命令可以將資料庫物件匯出成SQL格式。不帶任何參數時,.dump將整個資料庫匯出為資料庫定義語言(DDL)和資料庫操作語言(DML)命令,適合重新建立資料庫物件和其中的資料。如果提供了參數,Shell將參數解析作為表名或視圖,匯出任何匹配給定參數的表或視圖,那些不匹配的將被忽略。

  預設情況下.dump 命令的輸出定向到螢幕。如:.dump

  如果要將輸出重新導向到檔案,請使用.dump[filename]命令,此命令將所有的輸出重新導向到指定的檔案中。若要恢複到螢幕的輸出,只需要執行.output stdout命令就OK了。

     sqlite>.output file.sql  

  sqlite>.dump

  sqlite>.output stdout

  註:如果file.sql不存在,將在當前工作目錄中建立該檔案。如果檔案存在,它將被覆蓋。

  6.匯入資料  

  有兩種方法可以匯入資料,用哪種方法取決於要匯入的檔案格式。如果檔案由SQL語句構成,可以使用.read命令匯入檔案中包含的命令。如果檔案中包含由逗號或其他分隔字元分割的值(comma-swparated values,CSV)組成,可使用.import[table]命令,此命令將解析指定的檔案並嘗試將資料插入到指定的表中。

  .read命令用來匯入.dump命令建立的檔案。如果使用前面作為備份檔案所匯出的file.sql,需要先移除已經存在的資料庫物件,然後用下面的方法重新匯入:

  sqlite>drop table Member;

  sqlite>drop view schema;

  sqlite>.read file.sql

  7.備份資料庫

  有兩種方式可以完成資料庫的備份,具體使用哪一種取決於你希望的備份類型。SQL轉儲許是移植性最好的備份。

  產生轉儲的標準方式是使用CLP.dump命令:sqlite3 test.db .dump >test.sql

    在Shell中,可以將輸出重新導向到外部檔案,執行命令,恢複到螢幕輸出,如:  

    sqlite>.output file.sql

    sqlite>.dump

    sqlite>.output stdout

    sqlite>.exit  

  同樣,容易將SQL轉儲作為CLP的輸入資料流實現資料庫匯入:

  sqlite3 test.db <test.sql

  備份位元據庫知識比複製檔案稍多做一點工作。備份之前需要清理資料庫,這樣可以釋放一些已刪除對象不再使用的空間。這資料庫檔案就會變小,因此二進位的副本也會較小:

  sqlite3 test.db vacuum

  cp test.db test.Backup

  8.其它命令

  sqlite>select last_insert_rowid();  //獲得最後插入的自動成長量值

  sqlite>.tabes            //返回所有的表和視圖

  sqlite>.indices Member       //查看一個表的索引

  sqlite>.schema Member       //得到一個表或視圖的定義(DDL)語句,如果沒有提供表名,則返回所有資料庫物件(table,view,index,triger)的定義語句

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.