天天看點

SQLite資料庫操作實踐

SQLite資料庫操作實踐

SQLite存儲類型

null       - 空值 

integer - 有符号整數,自增列定義 id integer primary key autoincrement

real       - 浮點數,存儲為8-byte IEEE浮點數 

text       - 文本字元串 使用資料庫編碼(UTF-8, UTF-16BE 或 UTF-16LE)進行存儲

blob      - 二進制資料,如圖檔、聲音等等 

也可以接受其它資料類型例如datetime,varchar,nvarchar,decimal,float,double,bigint 等等

Last login: Tue Jan  7 19:05:33 2014 from 192.168.10.1

[[email protected] ~]$ su

Password: 

[[email protected] myth]# pwd         //顯示目前工作目錄

/home/myth

進入SQLite指令行建立資料庫并且打開資料庫

[[email protected] myth]# sqlite3 bookstore.db    

SQLite version 3.6.20

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> .databases

seq  name             file                                                      

---  ---------------  ----------------------------------------------------------

0    main             /home/myth/bookstore.db                                   

sqlite> 

sqlite> .quit      //退出SQLite指令行環境

[[email protected] myth]# 

打開資料庫

[[email protected] myth]# sqlite3 bookstore.db     //如果資料庫已經存在了,則打開資料庫

SQLite version 3.6.20

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> .help       //檢視幫助資訊

.backup ?DB? FILE      Backup DB (default "main") to FILE

.bail ON|OFF           Stop after hitting an error.  Default OFF

.databases             List names and files of attached databases

.dump ?TABLE? ...      Dump the database in an SQL text format

                         If TABLE specified, only dump tables matching

                         LIKE pattern TABLE.

.echo ON|OFF           Turn command echo on or off

.exit                  Exit this program

.explain ON|OFF        Turn output mode suitable for EXPLAIN on or off.

.genfkey ?OPTIONS?     Options are:

                         --no-drop: Do not drop old fkey triggers.

                         --ignore-errors: Ignore tables with fkey errors

                         --exec: Execute generated SQL immediately

                       See file tool/genfkey.README in the source 

                       distribution for further information.

.header(s) ON|OFF      Turn display of headers on or off

.help                  Show this message

.import FILE TABLE     Import data from FILE into TABLE

.indices ?TABLE?       Show names of all indices

                         If TABLE specified, only show indices for tables

                         matching LIKE pattern TABLE.

.load FILE ?ENTRY?     Load an extension library

.mode MODE ?TABLE?     Set output mode where MODE is one of:

                         csv      Comma-separated values

                         column   Left-aligned columns.  (See .width)

                         html     HTML <table> code

                         insert   SQL insert statements for TABLE

                         line     One value per line

                         list     Values delimited by .separator string

                         tabs     Tab-separated values

                         tcl      TCL list elements

.nullvalue STRING      Print STRING in place of NULL values

.output FILENAME       Send output to FILENAME

.output stdout         Send output to the screen

.prompt MAIN CONTINUE  Replace the standard prompts

.quit                  Exit this program

.read FILENAME         Execute SQL in FILENAME

.restore ?DB? FILE     Restore content of DB (default "main") from FILE

.schema ?TABLE?        Show the CREATE statements

                         If TABLE specified, only show tables matching

                         LIKE pattern TABLE.

.separator STRING      Change separator used by output mode and .import

.show                  Show the current values for various settings

.tables ?TABLE?        List names of tables

                         If TABLE specified, only list tables matching

                         LIKE pattern TABLE.

.timeout MS            Try opening locked tables for MS milliseconds

.width NUM NUM ...     Set column widths for "column" mode

.timer ON|OFF          Turn the CPU timer measurement on or off

sqlite> 

建立表

sqlite> create table books(id integer primary key, title nvarchar(50),pubdate datetime);      

sqlite> create table publishers(id integer primary key, name varchar(20));                              

sqlite> .tables     //檢視資料庫中存在的表

books       publishers

sqlite> .schema books     //顯示表結構

CREATE TABLE books(id integer primary key, title nvarchar(50),pubdate datetime);

sqlite> 

sqlite> alter table books add column publisher text not null default '' collate nocase;      //增加表字段

sqlite> .schema books     //顯示表結構

CREATE TABLE books(id integer primary key, title nvarchar(50),pubdate datetime, publisher text not null default '' collate nocase);

sqlite> 

sqlite> alter table publishers rename to authors;     //修改表名

sqlite> .tables     //檢視資料庫中存在的表

authors  books  

sqlite> 

修改字段名稱

//修改字段名稱和資料類型(删除字段也類似),更簡單的做法:如果沒有重要資料,可以直接删除表重新建立

sqlite> alter table authors rename to authorsOld;

sqlite> create table authors (id integer primary key, author nvarchar(20));

sqlite> insert into authors select id, name from authorsOld;

sqlite> drop table authorsOld;

sqlite> .schema authors

CREATE TABLE authors (id integer primary key, author nvarchar(20));

//還可以把資料導出成insert語句,然後删除表,重新建立表,執行所有insert語句添加資料

顯示資料庫所有表名稱

sqlite> select name from sqlite_master where type='table' order by name;   //顯示資料庫所有表名稱,sqlite_master表是隻讀的

authors

books

sqlite> select name from 

   ...> (SELECT * from sqlite_master union all select * from sqlite_temp_master)

   ...> where type='table' order by name;    //顯示資料庫所有表名稱(永久和臨時)

authors

books

sqlite> 

删除表

sqlite> drop table authors;   

sqlite> .tables                          //檢視資料庫中存在的表

books

sqlite>

往表中插入資料

sqlite> insert into books(id,title,pubdate,publisher) values(1,'交換機.路由器.防火牆','2007-08-28','電子工業出版社');

sqlite> insert into books(id,title,pubdate,publisher) values(2, '網絡硬體搭建與配置實踐','2007-01-20','電子工業出版社');

sqlite> 

sqlite> insert into books(title,pubdate,publisher) values('英語沙龍 ENGLISH SALON 實戰版','2005-12-31','世界知識出版社');

sqlite> insert into books(title,pubdate,publisher) values('英語沙龍 ENGLISH SALON 朗讀版','2006-12-20','世界知識出版社');

sqlite> 

sqlite> insert into books 

   ...> select 100,'軟體項目管理理論與案例分析','2007-08-30','中國電力出版社' union all 

   ...> select 105,'初級會計電算化','2006-03-27','中國财政經濟出版社';

sqlite> 

sqlite> insert into books(id,title,pubdate,publisher) 

   ...> select 300,'供應鍊管理 ------戰略、規劃與營運','2003-02-28','社會科學文獻出版社' union all

   ...> select 301,'UML實戰教程 ------面向.NET開發人員','2006-12-31','清華大學出版社' union all

   ...> select 302,'Project 2003 企業項目管理 快譯通','2007-02-28','人民郵電出版社'; 

sqlite> 

sqlite> select * from books;

1|交換機.路由器.防火牆|2007-08-28|電子工業出版社

2|網絡硬體搭建與配置實踐|2007-01-20|電子工業出版社

3|英語沙龍 ENGLISH SALON 實戰版|2005-12-31|世界知識出版社

4|英語沙龍 ENGLISH SALON 朗讀版|2006-12-20|世界知識出版社

100|軟體項目管理理論與案例分析|2007-08-30|中國電力出版社

105|初級會計電算化|2006-03-27|中國财政經濟出版社

300|供應鍊管理 ------戰略、規劃與營運|2003-02-28|社會科學文獻出版社

301|UML實戰教程 ------面向.NET開發人員|2006-12-31|清華大學出版社

302|Project 2003 企業項目管理 快譯通|2007-02-28|人民郵電出版社

sqlite> 

查詢分頁

sqlite> select * from books limit 0,5; 

1|交換機.路由器.防火牆|2007-08-28|電子工業出版社

2|網絡硬體搭建與配置實踐|2007-01-20|電子工業出版社

3|英語沙龍 ENGLISH SALON 實戰版|2005-12-31|世界知識出版社

4|英語沙龍 ENGLISH SALON 朗讀版|2006-12-20|世界知識出版社

100|軟體項目管理理論與案例分析|2007-08-30|中國電力出版社

sqlite> 

sqlite> select * from books limit 5,5;

105|初級會計電算化|2006-03-27|中國财政經濟出版社

300|供應鍊管理 ------戰略、規劃與營運|2003-02-28|社會科學文獻出版社

301|UML實戰教程 ------面向.NET開發人員|2006-12-31|清華大學出版社

302|Project 2003 企業項目管理 快譯通|2007-02-28|人民郵電出版社

sqlite> 

查詢分頁

sqlite> select * from books limit 5 offset 0;

1|交換機.路由器.防火牆|2007-08-28|電子工業出版社

2|網絡硬體搭建與配置實踐|2007-01-20|電子工業出版社

3|英語沙龍 ENGLISH SALON 實戰版|2005-12-31|世界知識出版社

4|英語沙龍 ENGLISH SALON 朗讀版|2006-12-20|世界知識出版社

100|軟體項目管理理論與案例分析|2007-08-30|中國電力出版社

sqlite> 

sqlite> select * from books limit 5 offset 5;

105|初級會計電算化|2006-03-27|中國财政經濟出版社

300|供應鍊管理 ------戰略、規劃與營運|2003-02-28|社會科學文獻出版社

301|UML實戰教程 ------面向.NET開發人員|2006-12-31|清華大學出版社

302|Project 2003 企業項目管理 快譯通|2007-02-28|人民郵電出版社

sqlite> 

查詢分頁(推薦此法)

sqlite> select * from books where id >=(select id from books order by id limit 5*0,1) limit 5;

1|交換機.路由器.防火牆|2007-08-28|電子工業出版社

2|網絡硬體搭建與配置實踐|2007-01-20|電子工業出版社

3|英語沙龍 ENGLISH SALON 實戰版|2005-12-31|世界知識出版社

4|英語沙龍 ENGLISH SALON 朗讀版|2006-12-20|世界知識出版社

100|軟體項目管理理論與案例分析|2007-08-30|中國電力出版社

sqlite> 

sqlite> select * from books where id >=(select id from books order by id limit 5*1,1) limit 5;

105|初級會計電算化|2006-03-27|中國财政經濟出版社

300|供應鍊管理 ------戰略、規劃與營運|2003-02-28|社會科學文獻出版社

301|UML實戰教程 ------面向.NET開發人員|2006-12-31|清華大學出版社

302|Project 2003 企業項目管理 快譯通|2007-02-28|人民郵電出版社

sqlite> 

設定格式化查詢結果

sqlite> .mode column

sqlite> .headers on

sqlite> .mode line

sqlite> 

sqlite> .show

     echo: off

  explain: off

  headers: on

     mode: line

nullvalue: ""

   output: stdout

separator: "\t"

    width: 

sqlite> select * from books;

       id = 1

    title = 交換機.路由器.防火牆

  pubdate = 2007-08-28

publisher = 電子工業出版社

       id = 2

    title = 網絡硬體搭建與配置實踐

  pubdate = 2007-01-20

publisher = 電子工業出版社

       id = 3

    title = 英語沙龍 ENGLISH SALON 實戰版

  pubdate = 2005-12-31

publisher = 世界知識出版社

       id = 4

    title = 英語沙龍 ENGLISH SALON 朗讀版

  pubdate = 2006-12-20

publisher = 世界知識出版社

       id = 100

    title = 軟體項目管理理論與案例分析

  pubdate = 2007-08-30

publisher = 中國電力出版社

       id = 105

    title = 初級會計電算化

  pubdate = 2006-03-27

publisher = 中國财政經濟出版社

       id = 300

    title = 供應鍊管理 ------戰略、規劃與營運

  pubdate = 2003-02-28

publisher = 社會科學文獻出版社

       id = 301

    title = UML實戰教程 ------面向.NET開發人員

  pubdate = 2006-12-31

publisher = 清華大學出版社

       id = 302

    title = Project 2003 企業項目管理 快譯通

  pubdate = 2007-02-28

publisher = 人民郵電出版社

sqlite> 

設定格式化查詢結果"insert"模式下,傳回的查詢結果将以SQL的INSERT語句形式進行顯示

sqlite> .mode insert rebooks 

sqlite> select * from books;

INSERT INTO rebooks VALUES(1,'交換機.路由器.防火牆','2007-08-28','電子工業出版社');

INSERT INTO rebooks VALUES(2,'網絡硬體搭建與配置實踐','2007-01-20','電子工業出版社');

INSERT INTO rebooks VALUES(3,'英語沙龍 ENGLISH SALON 實戰版','2005-12-31','世界知識出版社');

INSERT INTO rebooks VALUES(4,'英語沙龍 ENGLISH SALON 朗讀版','2006-12-20','世界知識出版社');

INSERT INTO rebooks VALUES(100,'軟體項目管理理論與案例分析','2007-08-30','中國電力出版社');

INSERT INTO rebooks VALUES(105,'初級會計電算化','2006-03-27','中國财政經濟出版社');

INSERT INTO rebooks VALUES(300,'供應鍊管理 ------戰略、規劃與營運','2003-02-28','社會科學文獻出版社');

INSERT INTO rebooks VALUES(301,'UML實戰教程 ------面向.NET開發人員','2006-12-31','清華大學出版社');

INSERT INTO rebooks VALUES(302,'Project 2003 企業項目管理 快譯通','2007-02-28','人民郵電出版社');

sqlite> 

設定格式化查詢結果,将查詢結果寫入建立的空檔案out_books.txt中

sqlite> .mode list

sqlite> .separator |

sqlite> .output out_books.txt

sqlite> select * from books;

sqlite> .exit

[[email protected] myth]# cat out_books.txt    //檢視寫入的檔案内容

id|title|pubdate|publisher

1|交換機.路由器.防火牆|2007-08-28|電子工業出版社

2|網絡硬體搭建與配置實踐|2007-01-20|電子工業出版社

3|英語沙龍 ENGLISH SALON 實戰版|2005-12-31|世界知識出版社

4|英語沙龍 ENGLISH SALON 朗讀版|2006-12-20|世界知識出版社

100|軟體項目管理理論與案例分析|2007-08-30|中國電力出版社

105|初級會計電算化|2006-03-27|中國财政經濟出版社

300|供應鍊管理 ------戰略、規劃與營運|2003-02-28|社會科學文獻出版社

301|UML實戰教程 ------面向.NET開發人員|2006-12-31|清華大學出版社

302|Project 2003 企業項目管理 快譯通|2007-02-28|人民郵電出版社

[[email protected] myth]# 

建立視圖

[[email protected] myth]# sqlite3 bookstore.db

SQLite version 3.6.20

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> create view v_books  as select * from books;

sqlite> .tables

books    v_books

sqlite> .schema v_books

CREATE VIEW v_books  as select * from books;

sqlite> 

建立索引

sqlite> create index index_books on books(publisher);

sqlite> .indices books

index_books

sqlite> .dump      //列印目前資料庫所有操作内容

PRAGMA foreign_keys=OFF;

BEGIN TRANSACTION;

CREATE TABLE books(id integer primary key, title nvarchar(50),pubdate datetime, publisher text not null default '' collate nocase);

INSERT INTO "books" VALUES(1,'交換機.路由器.防火牆','2007-08-28','電子工業出版社');

INSERT INTO "books" VALUES(2,'網絡硬體搭建與配置實踐','2007-01-20','電子工業出版社');

INSERT INTO "books" VALUES(3,'英語沙龍 ENGLISH SALON 實戰版','2005-12-31','世界知識出版社');

INSERT INTO "books" VALUES(4,'英語沙龍 ENGLISH SALON 朗讀版','2006-12-20','世界知識出版社');

INSERT INTO "books" VALUES(100,'軟體項目管理理論與案例分析','2007-08-30','中國電力出版社');

INSERT INTO "books" VALUES(105,'初級會計電算化','2006-03-27','中國财政經濟出版社');

INSERT INTO "books" VALUES(300,'供應鍊管理 ------戰略、規劃與營運','2003-02-28','社會科學文獻出版社');

INSERT INTO "books" VALUES(301,'UML實戰教程 ------面向.NET開發人員','2006-12-31','清華大學出版社');

INSERT INTO "books" VALUES(302,'Project 2003 企業項目管理 快譯通','2007-02-28','人民郵電出版社');

CREATE VIEW v_books  as select * from books;

CREATE INDEX index_books on books(publisher);

COMMIT;

sqlite> 

導出資料庫到 SQL 檔案

sqlite> .output bookstore.sql     //建立一個空檔案bookstore.sql

sqlite> .dump                                //将dump顯示的内容寫入空檔案bookstore.sql

sqlite> .output stdout                  //恢複螢幕輸出,不再将後面其它操作輸出内容寫入到檔案bookstore.sql中

sqlite> .exit

[[email protected] myth]# 

[[email protected] myth]# cat bookstore.sql     //檢視寫入的檔案内容

PRAGMA foreign_keys=OFF;

BEGIN TRANSACTION;

CREATE TABLE books(id integer primary key, title nvarchar(50),pubdate datetime, publisher text not null default '' collate nocase);

INSERT INTO "books" VALUES(1,'交換機.路由器.防火牆','2007-08-28','電子工業出版社');

INSERT INTO "books" VALUES(2,'網絡硬體搭建與配置實踐','2007-01-20','電子工業出版社');

INSERT INTO "books" VALUES(3,'英語沙龍 ENGLISH SALON 實戰版','2005-12-31','世界知識出版社');

INSERT INTO "books" VALUES(4,'英語沙龍 ENGLISH SALON 朗讀版','2006-12-20','世界知識出版社');

INSERT INTO "books" VALUES(100,'軟體項目管理理論與案例分析','2007-08-30','中國電力出版社');

INSERT INTO "books" VALUES(105,'初級會計電算化','2006-03-27','中國财政經濟出版社');

INSERT INTO "books" VALUES(300,'供應鍊管理 ------戰略、規劃與營運','2003-02-28','社會科學文獻出版社');

INSERT INTO "books" VALUES(301,'UML實戰教程 ------面向.NET開發人員','2006-12-31','清華大學出版社');

INSERT INTO "books" VALUES(302,'Project 2003 企業項目管理 快譯通','2007-02-28','人民郵電出版社');

CREATE VIEW v_books  as select * from books;

CREATE INDEX index_books on books(publisher);

COMMIT;

[[email protected] myth]# 

删除資料庫

[[email protected] myth]# find / -name bookstore.db

/home/myth/bookstore.db

[[email protected] myth]# rm -f /home/myth/bookstore.db

從 SQL 檔案導入資料庫

[[email protected] myth]# sqlite3 bookstore.db

SQLite version 3.6.20

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> .databases

seq  name             file                                                      

---  ---------------  ----------------------------------------------------------

0    main             /home/myth/bookstore.db                                   

sqlite> .tables

sqlite>

sqlite> .read bookstore.sql

sqlite> .dump       //列印目前資料庫所有操作内容

PRAGMA foreign_keys=OFF;

BEGIN TRANSACTION;

CREATE TABLE books(id integer primary key, title nvarchar(50),pubdate datetime, publisher text not null default '' collate nocase);

INSERT INTO "books" VALUES(1,'交換機.路由器.防火牆','2007-08-28','電子工業出版社');

INSERT INTO "books" VALUES(2,'網絡硬體搭建與配置實踐','2007-01-20','電子工業出版社');

INSERT INTO "books" VALUES(3,'英語沙龍 ENGLISH SALON 實戰版','2005-12-31','世界知識出版社');

INSERT INTO "books" VALUES(4,'英語沙龍 ENGLISH SALON 朗讀版','2006-12-20','世界知識出版社');

INSERT INTO "books" VALUES(100,'軟體項目管理理論與案例分析','2007-08-30','中國電力出版社');

INSERT INTO "books" VALUES(105,'初級會計電算化','2006-03-27','中國财政經濟出版社');

INSERT INTO "books" VALUES(300,'供應鍊管理 ------戰略、規劃與營運','2003-02-28','社會科學文獻出版社');

INSERT INTO "books" VALUES(301,'UML實戰教程 ------面向.NET開發人員','2006-12-31','清華大學出版社');

INSERT INTO "books" VALUES(302,'Project 2003 企業項目管理 快譯通','2007-02-28','人民郵電出版社');

CREATE VIEW v_books  as select * from books;

CREATE INDEX index_books on books(publisher);

COMMIT;

sqlite> select * from books;

1|交換機.路由器.防火牆|2007-08-28|電子工業出版社

2|網絡硬體搭建與配置實踐|2007-01-20|電子工業出版社

3|英語沙龍 ENGLISH SALON 實戰版|2005-12-31|世界知識出版社

4|英語沙龍 ENGLISH SALON 朗讀版|2006-12-20|世界知識出版社

100|軟體項目管理理論與案例分析|2007-08-30|中國電力出版社

105|初級會計電算化|2006-03-27|中國财政經濟出版社

300|供應鍊管理 ------戰略、規劃與營運|2003-02-28|社會科學文獻出版社

301|UML實戰教程 ------面向.NET開發人員|2006-12-31|清華大學出版社

302|Project 2003 企業項目管理 快譯通|2007-02-28|人民郵電出版社

sqlite> 

設定格式化查詢結果,将查詢結果寫入建立的空檔案bookstore.csv中

sqlite> .output bookstore.csv        //建立一個空檔案 bookstore.csv

sqlite> .separator ,                            // 設定字段之間的分隔符為逗号

sqlite> select * from books;           //将查詢的内容寫入空檔案bookstore.csv中

sqlite> .output stdout                       //恢複螢幕輸出,不再将後面其它操作輸出内容寫入到檔案bookstore.csv中

sqlite> delete from books;              //删除表中的所有資料為後面的操作從檔案導入資料做實驗準備

sqlite> select count(*) from books;

sqlite> .exit       //退出SQLite指令行環境

[[email protected] myth]# 

[[email protected] myth]# cat bookstore.csv       //檢視寫入的檔案内容

1,交換機.路由器.防火牆,2007-08-28,電子工業出版社

2,網絡硬體搭建與配置實踐,2007-01-20,電子工業出版社

3,英語沙龍 ENGLISH SALON 實戰版,2005-12-31,世界知識出版社

4,英語沙龍 ENGLISH SALON 朗讀版,2006-12-20,世界知識出版社

100,軟體項目管理理論與案例分析,2007-08-30,中國電力出版社

105,初級會計電算化,2006-03-27,中國财政經濟出版社

300,供應鍊管理 ------戰略、規劃與營運,2003-02-28,社會科學文獻出版社

301,UML實戰教程 ------面向.NET開發人員,2006-12-31,清華大學出版社

302,Project 2003 企業項目管理 快譯通,2007-02-28,人民郵電出版社

[[email protected] myth]# 

從 CSV 檔案導入資料到表中(導入到建立的表中)

[[email protected] myth]# sqlite3 bookstore.db

SQLite version 3.6.20

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite>

sqlite > CREATE TABLE rebooks(id integer primary key, title nvarchar(50),pubdate datetime, publisher text not null default '' collate nocase);

sqlite> .separator ,

sqlite > .import bookstore.csv  rebooks

sqlite > select * from rebooks;

sqlite> select * from rebooks;

1,交換機.路由器.防火牆,2007-08-28,電子工業出版社

2,網絡硬體搭建與配置實踐,2007-01-20,電子工業出版社

3,英語沙龍 ENGLISH SALON 實戰版,2005-12-31,世界知識出版社

4,英語沙龍 ENGLISH SALON 朗讀版,2006-12-20,世界知識出版社

100,軟體項目管理理論與案例分析,2007-08-30,中國電力出版社

105,初級會計電算化,2006-03-27,中國财政經濟出版社

300,供應鍊管理 ------戰略、規劃與營運,2003-02-28,社會科學文獻出版社

301,UML實戰教程 ------面向.NET開發人員,2006-12-31,清華大學出版社

302,Project 2003 企業項目管理 快譯通,2007-02-28,人民郵電出版社

sqlite> 

從 CSV 檔案導入資料到表中(導入到已存在的表中)

sqlite >

sqlite> .separator ,

sqlite > .import bookstore.csv books

sqlite> .import bookstore.csv books

sqlite> select * from books;

1,交換機.路由器.防火牆,2007-08-28,電子工業出版社

2,網絡硬體搭建與配置實踐,2007-01-20,電子工業出版社

3,英語沙龍 ENGLISH SALON 實戰版,2005-12-31,世界知識出版社

4,英語沙龍 ENGLISH SALON 朗讀版,2006-12-20,世界知識出版社

100,軟體項目管理理論與案例分析,2007-08-30,中國電力出版社

105,初級會計電算化,2006-03-27,中國财政經濟出版社

300,供應鍊管理 ------戰略、規劃與營運,2003-02-28,社會科學文獻出版社

301,UML實戰教程 ------面向.NET開發人員,2006-12-31,清華大學出版社

302,Project 2003 企業項目管理 快譯通,2007-02-28,人民郵電出版社

sqlite> 

備份資料庫

[[email protected] myth]# sqlite3 bookstore.db .dump > bookstorebak20140107.sql

删除資料庫

[[email protected] myth]# find / -name bookstore.db

/home/myth

[[email protected] myth]# rm -f /home/myth/bookstore.db

恢複資料庫

[[email protected] myth]# sqlite3 bookstore.db < bookstorebak20140107.sql

SQLite 内建函數表

算術函數

abs(X)              傳回給定數字表達式的絕對值

max(X,Y[,...])      傳回表達式的最大值

min(X,Y[,...])      傳回表達式的最小值

random(*)           傳回随機數

round(X[,Y])        傳回數字表達式并四舍五入為指定的長度或精度

字元處理函數

length(X)           傳回給定字元串表達式的字元個數

lower(X)            将大寫字元資料轉換為小寫字元資料後傳回字元表達式

upper(X)            傳回将小寫字元資料轉換為大寫的字元表達式

substr(X,Y,Z)       傳回表達式的一部分

randstr()

quote(A)

like(A,B)           确定給定的字元串是否與指定的模式比對

glob(A,B)

條件判斷函數

coalesce(X,Y[,...])

ifnull(X,Y)

nullif(X,Y)

集合函數

avg(X)              傳回組中值的平均值

count(X)            傳回組中項目的數量

max(X)              傳回組中值的最大值

min(X)              傳回組中值的最小值

sum(X)              傳回表達式中所有值的和

其他函數

typeof(X)           傳回資料的類型

last_insert_rowid() 傳回最後插入的資料的 ID

sqlite_version(*)   傳回 SQLite 的版本

change_count()      傳回受上一語句影響的行數

last_statement_change_count()