SQLite學習筆記之一

一.  如何獲取SQLite最新版本
官方站點:http://www.sqlite.org/
從http://www.sqlite.org/網站的Download頁面獲取
即以下頁面下載
http://www.sqlite.org/download.html
二.Windows下的SQLite的源代碼是哪一個軟件壓縮包?
sqlite-amalgamation-3080200.zip 是SQLite的windows下源碼文件
sqlite-doc-3080200.zip 是文檔
三.Window下的SQLite命令行工具
sqlite-shell-win32-x86-3080200.zip
四.Window下的SQLite開發庫,即動態連接庫以及DEF文件
sqlite-dll-win32-x86-3080200.zip
sqlite-analyzer-win32-x86-3080200.zip 查詢分析器

五.SQLite最新版本是: 3.8.2 html

六.b<=a && a <= c 的SQL語句如何寫
在SQLite中, 表達式"a BETWEEN b AND c"等於表達式 "a >= b AND a <= c",在比較表達式時,a能夠是具備任何親和性
七.a的值是x,y,z其中一個值,SQL語句如何寫
SQLite把表達式 "a IN (x, y, z)" 和 "a = z OR a = y OR a = z"視爲相等.
八.如何建立制定目錄的數據庫  ???
sqlite3 D:/Project/SyncML/Lib/debug/atsync.db
九.建立數據的注意事項
若是不往數據庫裏面添加任何的表,這個數據庫等於沒有創建,不會在硬盤上產生任何文件,若是數據庫已經存在,則會打開這個數據庫。
十.如何添加一張數據表
create table student(name varchar(10), age smallint);
十一.如何往數據表中添加數據
insert into student values('張三', 20);
十二.如何經過sqlite3.dll與sqlite3.def生成sqlite3.lib文件??
LIB /DEF:sqlite3.def /machine:IX86
十三.如何查詢SQLite工具的軟件版本(也就是sqlite3.exe應用程序小工具的版本號)
方法一:進入sqlite3.exe所在目錄,在命令行執行以下命令
sqlite3 –version
方法二:
select sqlite_version();
十四.如何在字符串中使用單引號(')
SQL 標準規定,在字符串中,單引號須要使用逃逸字符,即在一行中使用兩個單引號
十五.若是刪除了大量數據,而又想縮小數據庫文件佔用的空間,執行 VACUUM 命令
vacuum;
十六.在SQLite中,如何在一個表上添加或刪除一列?
SQLite 有有限地 ALTER TABLE 支持。你可使用它來在表的末尾增長一列,可更改表的名稱。 若是須要對錶結構作更復雜的改變,則必須從新建表。 重建時能夠先將已存在的數據放到一個臨時表中,刪除原表, 建立新表,而後將數據從臨時表中複製回來。
如,假設有一個 t1 表,其中有 "a", "b", "c" 三列, 若是要刪除列 c ,如下過程描述如何作:
開始事物處理
BEGIN TRANSACTION;
建立臨時表格t1-backup
CREATE TEMPORARY TABLE t1_backup(a,b);
將數據庫表t1中的全部數據拷貝到表t1-backup中
INSERT INTO t1_backup SELECT a,b FROM t1;
刪除表格t1
DROP TABLE t1;
建立表格t1
CREATE TABLE t1(a,b);
將數據庫表t1-backup中的全部數據拷貝到表t1中
INSERT INTO t1 SELECT a,b FROM t1_backup;
刪除備份表格t1-backup
DROP TABLE t1_backup;
事物提交
COMMIT;
十七.如何查詢當前的編碼的編碼格式
pragma  encoding;
十八.SQLite支持哪些數據類型些?
NULL 值爲NULL
INTEGER 值爲帶符號的整型,根據類別用1,2,3,4,6,8字節存儲
REAL 值爲浮點型,8字節存儲 
TEXT 值爲text字符串,使用數據庫編碼(UTF-8, UTF-16BE or UTF-16-LE)存儲
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  包含了 年、月、日、時、分、秒、千分之一秒。
十九.若是將某個字段設置爲INTEGER PRIMARY KEY屬性,有什麼特性?
若是將聲明表的一列設置爲 INTEGER PRIMARY KEY,則具備:
1.每當你在該列上插入一NULL值時, NULL自動被轉換爲一個比該列中最大值大1的一個整數;
2.若是表是空的, 將會是1;
注意該整數會比表中該列上的插入以前的最大值大1。 該鍵值在當前的表中是惟一的。但有可能與已從表中刪除的值重疊。要想創建在整個表的生命週期中惟一的鍵值,須要在 INTEGER PRIMARY KEY 上增長AUTOINCREMENT聲明。那麼,新的鍵值將會比該表中曾能存在過的最大值大1。
二十.字段聲明中有AUTOINCREMENT屬性,有什麼不同凡響的含義?
要想創建在整個表的生命週期中惟一的鍵值,須要在 INTEGER PRIMARY KEY 上增長AUTOINCREMENT聲明。那麼,新的鍵值將會比該表中曾能存在過的最大值大1。 git

相關文章
相關標籤/搜索