日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqlite 数据类型 全面

發布時間:2024/9/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlite 数据类型 全面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.net/jin868/article/details/5961263


一般數據采用的固定的靜態數據類型,而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?ex2(? ??
  • a?VARCHAR(10),? ??
  • b?NVARCHAR(15), ??
  • c?TEXT,? ??
  • d?INTEGER, ??
  • e?FLOAT, ??
  • f?BOOLEAN,? ??
  • g?CLOB,? ??
  • h?BLOB,? ??
  • i?TIMESTAMP, ??
  • j?NUMERIC(10,5),? ??
  • k?VARYING?CHARACTER?(24),? ??
  • l?NATIONAL?VARYING?CHARACTER(16) ??
  • );
  • char、varchar、text和nchar、nvarchar、ntext的區別

    1、CHAR。CHAR存儲定長數據很方便,CHAR字段上的索引效率級高,比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間,不足的自動用空格填充。

    2、VARCHAR。存儲變長數據,但存儲效率沒有CHAR高。如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什么“+1”呢?這一個字節用于保存實際使用了多大的長度。從空間上考慮,用varchar合適;從效率上考慮,用char合適,關鍵是根據實際情況找到權衡點。

    3、TEXT。text存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字符。

    4、NCHAR、NVARCHAR、NTEXT。這三種從名字上看比前面三種多了個“N”。它表示存儲的是Unicode數據類型的字符。我們知道字符中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較起來,nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。??

    ??? 所以一般來說,如果含有中文字符,用nchar/nvarchar,如果純英文和數字,用char/varchar。


    總結

    以上是生活随笔為你收集整理的sqlite 数据类型 全面的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。