Sqlite學習筆記
一、準備工作:
1.到sqlite官方網站下載sqlite數據庫(sqlite-shell-win32-x86-3070500.zip)。
2.解壓後得到sqlite.exe。爲了下面方便說明,我把它放到D盤根目錄下。
二、基本操作:
1.創建一個名字爲mydb.db的sqlite數據庫:
a.“運行”——“cmd”——“d:”,切換到當前路徑到D盤根目錄:
b.執行命令“sqlite3 mydb.db”,創建成功會出現一下畫面:
c.不過現在還沒有生成數據庫文件,需要在數據庫中放入對象後纔會生成(如:建一個叫“teacher”的表),如下:
注意:所有sql語句都要用“;”結尾,如果是以integer類型字段爲主鍵,則會有自動增加功能(從1開始,每插入一條數據增加1)。
d.然後輸入".quit",則會在D盤下生成mydb.db的數據庫:
e.然後操作和其他數據庫中一樣了。
注意:如果是一個空的數據庫,則不會生成數據庫文件
2.使用剛纔創建的數據庫:
a. 按照基本操作1的a和b步驟,然後運行"sqlite3 mydb.db",意思是,如果這個數據庫存在,則打開數據庫,如果不存在,便創建該數據庫。
b. 在teacher表中插入一條數據,運行語句"insert into teacher(name) values('劍');"
(注意:由於id列式自增列,所以我們只要插入name列的值)
c.然後查詢剛纔插入的數據:select * from teacher;
如果我們要讓它顯示字段名,請運行 .headers on
,則可以看到字段名了,如果想關掉,只需要用 .headers off
3.如果要查看當前的子增長列id到多少了,只需要"select last_insert_rowid() from teacher;"
因爲剛纔插入了一條數據,所以顯示1。
4.創建一個視圖:create view myView as select * from teacher;
查看剛纔新建的視圖:select * from myView;
5.創建一個索引:create index myIndex on teacher(name);
6.獲取數據庫中所有表和視圖的信息:.tables
顯示已建的表名和視圖名。
7.查看數據庫中所有的索引信息: .indices
如果只要查看teacher表的索引: .indices teacher
8.查看錶或視圖或索引的定義語句: .schema [表名|視圖名]
可以看到對該表的定義。
9.數據庫的更詳細的schema信息可以通過SQLite唯一的系統視圖sqlite_master得到:
快下課了,今天就到這裏,使用".e"或者".exit"退出。
2011.3.30
10.導出數據:
導出整個數據庫,存放爲文件 mydb.sql
.output mydb.sql
.dump [表名|視圖名] //如果不指定表名或視圖名,會默認導出整個數據庫
.output stdout
然後就能在根目錄下找到mydb.sql文件了。如果要導出表或視圖的DDL操作語句,只需在.dump後加上表名或視圖名。
11.導入數據:(爲了演示導入,先重啓sqlite3,因爲同一個數據庫不能有相同的表和視圖。)
a. 如果導入的語句由sql語句構成,可直接用.read命令導入並執行文件,如導入剛纔導出的mydb.sql文件: .read file.sql
現在可以看到已經導入了吧。
b.