SQLite資料型別

2021-08-31 18:05:13 字數 1829 閱讀 3279

一般資料採用的固定的靜態資料型別,而sqlite採用的是動態資料型別,會根據存入值自動判斷。sqlite具有以下五種數

據型別:

1.null:空值。

2.integer:帶符號的整型,具體取決有存入數字的範圍大小。

3.real:浮點數字,儲存為8-byte ieee浮點數。

4.text:字串文字。

5.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 包含了 年、月、日、時、分、秒、千分之一秒。

datetime 包含日期時間格式,必須寫成'2010-08-05'不能寫為'2010-8-5',否則在讀取時會產生錯誤!

sqlite常用資料型別

這句話本身就有問題,因為:sqlite是無型別的. 這意味著你可以儲存任何型別的資料到你所想要儲存的任何表的任何列

中, 無論這列宣告的資料型別是什麼(只有自動遞增integer primary key才有用). 對於sqlite來說對字段不指定型別是完

全有效的. 如:

create table ex3(a, b, c);

即使sqlite允許忽略資料型別, 但是仍然建議在你的create table語句中指定資料型別. 因為資料型別對於你和其他的程

序員交流, 或者你準備換掉你的資料庫引擎是非常有用的. sqlite支援常見的資料型別, 如: 

sql**

create table my_table(

id  integer primary key autoincrement, 

a varchar(10),

b nvarchar(15),

c text,

d integer,

e float, 

f boolean,

g clob,

h blob,

i numeric,

j decimal(4,2),

k timestamp,

l datetime

#資料庫操作

檢視當前資料庫

sqlite>.databases

檢視當前資料庫表

sqlite>.table

檢視資料表結構

sqlite>.schema school

修改表結構

sqlite不能直接刪除字段,能新增字段

sqlite>alter table s_class  add column bdo int default 0;

刪除字段需要到處sql,然後再匯入資料(形似mysql)

刪除資料表

sqlite>drop table s_class;

sqlite資料型別

一般資料採用的固定的靜態資料型別,而sqlite採用的是動態資料型別,會根據存入值自動判斷。sqlite具有以下五種資料型別 1.null 空值。2.integer 帶符號的整型,具體取決有存入數字的範圍大小。3.real 浮點數字,儲存為8 byte ieee浮點數。4.text 字串文字。5.b...

sqlite 資料型別

一般 資料採用固定的靜態資料型別,而sqlite採用的是動態資料型別,會根據存入值自動判斷。sqlite具有以下五種資料型別 1.null 空值。2.integer 帶符號的整型,具體取決有存入數字的範圍大小。3.real 浮點數字,儲存為8 byte ieee浮點數。4.text 字串文字。5.b...

sqlite 資料型別

一般資料採用的固定的靜態資料型別,而sqlite採用的是動態資料型別,會根據存入值自動判斷。sqlite具有以下五種資料型別 1.null 空值。2.integer 帶符號的整型,具體取決有存入數字的範圍大小。3.real 浮點數字,儲存為8 byte ieee浮點數。4.text 字串文字。5.b...