iOS SQLite3使用方法和技巧

移动开发 iOS
iOS SQLite3类型系统是本文要介绍的内容,主要是来了解并学习iOS SQLite3的使用方法和技巧,关于SQLite在iOS应用的操作本文有很详细的讲解,来看内容。

 在iOS应用的客户端存储数据一般是存储在SQLite3中,下面简单介绍iOS SQLite3支持的数据类型,以及类型间相互关系。大多数数据库使用静态的严格的类型系统,列的类型在创建表的时候就已经指定了。SQLite使用动态的类型系统,列的类型由值决定。

iOS SQLite3具有的数据类型

  1. NULL:NULLvalue 

Integer:值是signedinteger类型,大小可以是1,2,3,4,6,8bytes

  • REAL:浮点类型
  • TEXT:以UTF-8,UTF-16BEorUTF-16LE编码存储的字符类型
  • BLOB:二进制数据

其它数据类型说明

Integerprimarykey列是个例外??

  • 布尔类型:SQLite中没有定义布尔类型,而是以Integer存储布尔值,0(false),1(true)

Dateandtime类型

SQLite中也没有定义日期时间类型,日期时间可以用TEXT,REAL,orINTEGER存储

TEXT:存储为字符串("YYYY-MM-DDHH:MM:SS.SSS").

  1. REAL:asJuliandaynumbers,thenumberofdayssincenooninGreenwichonNovember24,4714B.C.accordingtotheprolepticGregoriancalendar.   
  2.    
  3. INTEGER:asUnixTime,thenumberofsecondssince1970-01-0100:00:00UTC. 

SQLiteTypeAffinity(类型检测)

用于自动检测值的类型,以下列举Affinity如何决定类型的规则

(1)如果类型声明中有int,则使用INTEGERaffinity.

(2)如果类型声明中有"CHAR","CLOB",or"TEXT",则使用Textaffinity

(3)如果类型声明中有BLOB或没有指定类型,则使用affinityNONE

(4)如果类型声明中有"REAL","FLOA",or"DOUB",则使用REALaffinity

(5)否则使用Numericaffinity

类型比较NULL

memcmp函数原型

  1. intmemcmp(constvoid*ptr1,constvoid*ptr2,size_tnum); 

比较两个指针指向内存的前num个byte

比较之前的类型转换

l(INTEGER,REALorNUMERIC)和(TEXTorNONE)比较,则TEXT,NONE会被转换成NUMERIC

lTEXT和NONE比较,则NONE会被转换成TEXT

其他情况直接比较。

小结:iOS SQLite3类型系统的内容介绍完了,希望通过iOS SQLite的操作内容的学习能对你有所帮助。

责任编辑:佚名 来源: itivy
相关推荐

2012-03-06 12:59:11

iOS SQLite3iOSSQLite3

2013-05-03 13:42:20

iOS开发SQLite3存储读取

2011-09-06 16:44:47

IOS应用SQLite

2021-02-15 15:40:28

SQLite3数据库

2013-04-09 16:47:19

iOS嵌入式数据库SQLit

2017-10-26 12:37:24

Pythonsqlite3数据库

2014-05-06 10:20:02

2011-09-02 19:24:20

SqliteIOS应用数据库

2012-02-29 10:18:31

SQLite3Android

2010-11-19 09:56:38

SQLiteAndroid

2013-04-10 14:21:35

2018-06-20 10:34:56

堆栈iOSswift

2011-08-01 13:32:07

Objective-C Sqlite3 框架

2013-07-25 14:12:53

iOS开发学习UITableView

2011-04-08 10:43:44

2019-08-12 11:40:48

数据库SQLite3数据类型

2011-07-07 16:42:38

iPhone Sqlite3 数据库

2010-08-09 10:16:01

FlexBuilder

2023-03-03 13:43:00

Java字节流

2013-07-15 15:12:40

iOS多线程NSOperationNSOperation
点赞
收藏

51CTO技术栈公众号