SQLite數據庫治理相干敕令的應用引見。本站提示廣大學習愛好者:(SQLite數據庫治理相干敕令的應用引見)文章只能為提供參考,不一定能成為您想要的結果。以下是SQLite數據庫治理相干敕令的應用引見正文
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[file][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)的界說語句