sqlite , I'm very happy!
http://www.sqlite.org/download.html 下載地址,若是沒有c的編譯環境直接下載shell.
環境 windows 7, SQLite version 3.7.6
概念優點我這就不在敘述,下面是練習的基本用法
- 建立數據庫 sqlite3 db_name.xx
D:/sqlite>sqlite3 foo.db --此時你已經建立了一個foo.db 的數據庫, .db不是固定的也可以是 foo.mydb
- 建表 create table tab_name (field1, field2, field3...);
sqlite> creat table user(id, name, sex); --可以不輸入字段類型
主鍵自動增長
sqlite> create table message( ...> id integer primary key autoincrement, --必須是 INTEGER PRIMARY KEY ...> title varchar(100), ...> content text);
數據類型:
NULL
INTEGER
REAL
TEXT
BLOB
但實際上,sqlite3也接受如下的數據類型:
smallint 16 位元的整數。
interger 32 位元的整數。
decimal(p,s) p 精確值和 s 大小的十進位整數,精確值p是指全部有幾個數(digits)大小值,s是指小數點後有幾位數。如果沒有特別指定,則系
統會設爲 p=5; s=0 。
float 32位元的實數。
double 64位元的實數。
char(n) n 長度的字串,n不能超過 254。
varchar(n) 長度不固定且其最大長度爲 n 的字串,n不能超過 4000。
graphic(n) 和 char(n) 一樣,不過其單位是兩個字元 double-bytes, n不能超過127。這個形態是爲了支援兩個字元長度的字體,例如中文字。
vargraphic(n) 可變長度且其最大長度爲 n 的雙字元字串,n不能超過 2000
date 包含了 年份、月份、日期。
time 包含了 小時、分鐘、秒。
timestamp 包含了 年、月、日、時、分、秒、千分之一秒。
- 插入數據:
sqlite> insert into message(title,content) values("第一次使用sqlite", "I'm very happy!和mysql 差不多,很容易學習!");
sqlite> insert into message(title,content) values("2011-05-17天氣", "氣溫16-29度 ,多雲.");
- 查詢:
sqlite> select * from message;
id|title|content
1|第一次使用sqlite|I'm very happy!和mysql 差不多,很容易學習!
2|2011-05-17天氣|氣溫16-29度,多雲.
sqlite> select * from message order by id desc limit 1 ; -- id倒敘, 和mysql 一樣
id|title|content
2|2011-05-17天氣|氣溫16-29度,多雲.
- 輸出 HTML 表格
D:/sqlite>sqlite3 -html foo.db "select * from user"; <TR><TD>1</TD> <TD>sqlite</TD> <TD>1</TD> </TR>
- 將數據庫「導出來」:
D:/sqlite>sqlite3 foo.db ".dump" > foo.sql --生成foo.sql 文件
- 利用輸出的數據,建立一個一模一樣的數據庫(加上以上指令,就是標準的SQL數據庫備份了):
D:/sqlite>sqlite3 foo2.db < foo.sql --建立一個foo2.db
- 察看/幫助
sqlite> .help --幫助
.database 顯示數據庫信息;
.tables 顯示錶名稱;(好像.table也可以)
.schema 命令可以查看創建數據表時的SQL命令;
.schema table_name 查看創建表table_name時的SQL的命令;
查詢時不顯示錶頭 sqlite> .headers on
連接:
安裝和基本命令 http://blog.csdn.net/shellching/archive/2010/01/26/5258112.aspx