sqlite数据库版本
每次你new SQLiteOpenHelper的时候都会穿一个version, 当你传的version比当前数据库的大时就会调用该方法了。
Ⅱ sqlite数据类型有哪些
SQLite
数据类型是一个用来指定任何对象的数据类型的属性。SQLite
中的每一列,每个变量和表达式都有相关的数据类型。
您可以在创建表的同时使用这些数据类型。SQLite
使用一个更普遍的动态类型系统。在
SQLite
中,值的数据类型与值本身是相关的,而不是与它的容器相关。
SQLite
存储类
每个存储在
SQLite
数据库中的值都具有以下存储类之一:
存储类
描述
NULL
值是一个
NULL
值。
INTEGER
值是一个带符号的整数,根据值的大小存储在
1、2、3、4、6
或
8
字节中。
REAL
值是一个浮点值,存储为
8
字节的
IEEE
浮点数字。
TEXT
值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE
或
UTF-16LE)存储。
BLOB
值是一个
blob
数据,完全根据它的输入存储。
SQLite
的存储类稍微比数据类型更普遍。INTEGER
存储类,例如,包含
6
种不同的不同长度的整数数据类型。
SQLite
亲和(Affinity)类型
SQLite支持列的亲和类型概念。任何列仍然可以存储任何类型的数据,当数据插入时,该字段的数据将会优先采用亲缘类型作为该值的存储方式。SQLite目前的版本支持以下五种亲缘类型:
亲和类型
描述
TEXT
数值型数据在被插入之前,需要先被转换为文本格式,之后再插入到目标字段中。
NUMERIC
当文本数据被插入到亲缘性为NUMERIC的字段中时,如果转换操作不会导致数据信息丢失以及完全可逆,那么SQLite就会将该文本数据转换为INTEGER或REAL类型的数据,如果转换失败,SQLite仍会以TEXT方式存储该数据。对于NULL或BLOB类型的新数据,SQLite将不做任何转换,直接以NULL或BLOB的方式存储该数据。需要额外说明的是,对于浮点格式的常量文本,如"30000.0",如果该值可以转换为INTEGER同时又不会丢失数值信息,那么SQLite就会将其转换为INTEGER的存储方式。
INTEGER
对于亲缘类型为INTEGER的字段,其规则等同于NUMERIC,唯一差别是在执行CAST表达式时。
REAL
其规则基本等同于NUMERIC,唯一的差别是不会将"30000.0"这样的文本数据转换为INTEGER存储方式。
NONE
不做任何的转换,直接以该数据所属的数据类型进行存储。
SQLite
亲和类型(Affinity)及类型名称
下表列出了当创建
SQLite3
表时可使用的各种数据类型名称,同时也显示了相应的亲和类型:
数据类型
亲和类型
INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED
BIG
INT
INT2
INT8
INTEGER
CHARACTER(20)
VARCHAR(255)
VARYING
CHARACTER(255)
NCHAR(55)
NATIVE
CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB
TEXT
BLOB
no
datatype
specified
NONE
REAL
DOUBLE
DOUBLE
PRECISION
FLOAT
REAL
NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME
NUMERIC
Ⅲ sqlite数据库升级怎么写
SQLite的最大的特点是其数据类型的数据类型(typelessness)。这意味着你可以保存任何您想要保存的任何表的任何列的数据类型,是什么样的数据类型列定义。生成的表结构,每个域的数据类型声明,但,SQLite没有做任何检查。开发人员能够依靠自己的程序来控制的输入类型和读取数据。有一个例外,那就是,当一个整型值的主键,如果你要插入一个非整数的值会产生异常。
时,SQLite允许忽略数据类型,但是仍然建议在CREATE TABLE语句中指定数据类型,因为数据类型有利于提高程序的可读性。另外,尽管当插入或读取不区分类型,但是,当比较不同的数据类型是不同的。
Ⅳ 什么是 SQLITE 数据库
SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界着名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,它支持的SQL包括:
ATTACH DATABASE
BEGIN TRANSACTION
comment
COMMIT TRANSACTION
COPY
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
DELETE
DETACH DATABASE
DROP INDEX
DROP TABLE
DROP TRIGGER
DROP VIEW
END TRANSACTION
EXPLAIN
expression
INSERT
ON CONFLICT clause
PRAGMA
REPLACE
ROLLBACK TRANSACTION
SELECT
UPDATE
同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么现在你可以考虑使用SQLite。目前它的最新版本是 3.2.2,它的官方网站是:http://www.sqlite.org或者http://www.sqlite.com.cn,能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。
Ⅳ android.database.sqlite 怎么更换版本
Android中提供4种数据存储的方法:(1)SharedPreferences,用键值对的方式来存储数据,是一种轻量级的存储机制,可以存储一些属性等。(2)Files:文件输入输出流的方式存储数据,FileInputStream和FileOutputStream。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。写入SD卡除外。(3)SQLite(4)网络(这个不算吧~~~--!)。 SQLite: (1)创建和打开数据库可以使用方法openOrCreateDatabase,它会自动去检测是否存在数据库,如果存在则打开,如果不存在则创建一个数据库;成功返回一个SQliteDatabase对象。(2)创建一张表通过SQL语句实现,调用sqliteDatabase对象的execSQL方法,执行创建表的SQL语句。 (3)向数据表中添加一条记录可以直接通过SQL语句实现,也可以使用ContentValue对象,ContentValue对象是一个Map,Key是字段名,Value是值。Cv.put(key,value);然后调用sqliteDatabase对象的 insert(tableName,null,cv)方法插入数据。 (4)删除数据可以直接执行SQL,也可以执行sqliteDatabase的delete方法。 (5)同理修改数据也是执行SQL或调用update方法,需要传入ContenValue的对象表示修改的内容。 (6)关闭数据库sqliteDatabase.close(); (7)删除指定表调用SQL语句即可。 (8)查询:在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor对象指向的是每条数据。例如cur.moveToFirst();cur.moveToNext();等。在实际开发中,为了能够更好地管理和维护数据库,我们会封装一个继承自SQLiteOpenHelper类的数据库操作类。SQLiteOpenHelper的构造方法中分别需要传入Context、数据库名称、CursorFactory(一般默认null)、数据库版本号。在SQLiteOpenHelper中首先执行的是onCreate方法(当数据库第一次被创建时)。在构造函数中并没有真正创建数据库,而是调用getWriteableDatabase或者getReadableDatabase方法时才真正去创建数据库,并且返回一个SQLiteDatabase对象。
Ⅵ sqlite数据库增加一个表 版本号要改吗
开发的时候无所谓,但如果已经正式发布了,版本号一定要改。不然怎么升级数据库呢。
Ⅶ java生成Sqlite数据库,下载到Android设备上,报错,提示版本号不对
要是手机java软件的话,就得需要手机支持安装java软件,不过一般的手机差不多都能支持,只是版本的不一样而已···要是你想问java学了之后如何使用的话,java还是比较擅长于web网页的开发和现在流行的安卓技术··
Ⅷ 怎么升级SQLite数据库
SQLite数据库的升级
做Android应用,不可避免的会与SQLite打交道。
随着应用的不断升级,原有的数据库结构可能已经不再适应新的功能。
这时候,就需要对SQLite数据库的结构进行升级了
SQLite提供了ALTER TABLE命令,允许用户重命名或添加新的字段到已有表中,但是不能从表中删除字段。
并且只能在表的末尾添加字段,比如,为 Subscription添加两个字段:
1 ALTER TABLE Subscription ADD COLUMN Activation BLOB; 2 ALTER TABLE Subscription ADD COLUMN Key BLOB;
另外,如果遇到复杂的修改操作,比如在修改的同时,需要进行数据的转移,那么可以采取在一个事务中执行如下语句来实现修改表的需求。
1. 将表名改为临时表
ALTER TABLE Subscription RENAME TO __temp__Subscription;
2. 创建新表
CREATE TABLE Subscription (OrderId VARCHAR(32) PRIMARY KEY ,UserName VARCHAR(32) NOT NULL ,ProctId VARCHAR(16) NOT NULL);
3. 导入数据
INSERT INTO Subscription SELECT OrderId, “”, ProctId FROM __temp__Subscription;
或者
INSERT INTO Subscription() SELECT OrderId, “”, ProctId FROM __temp__Subscription;
* 注意 双引号”” 是用来补充原来不存在的数据的
4. 删除临时表
DROP TABLE __temp__Subscription;
通过以上四个步骤,就可以完成旧数据库结构向新数据库结构的迁移,并且其中还可以保证数据不会应为升级而流失。
如果遇到减少字段的情况,也可以通过创建临时表的方式来实现。
Ⅸ sqlite数据库个人版和专家版有什么不同
SQLite Expert 字面直译为“SQLite 专家”,是一款专门用于SQLite数据库系统的可视化管理工具。借助SQLite Expert,用户能够对 SQLite 数据库执行创建、编辑、复制、查询等操作。SQLite Expert以直观的图形界面反映SQLite的特征。它包括可视化查询生成器,支持SQL语句编辑与关键词突出显示、支持代码自动完成、支持表与视图的设计与导入导出功能。
SQLite Expert 分为两个版本:
免费的 Personal Edition
收费的 Professional Edition
到目前为止(2015年8月8日),SQLite Expert最新版本为 V3.5.83
Ⅹ sqlite数据库分不同版本,db文件是不是通用的
: Linux 下文件有无后缀名没本质上的区别。 所以不要纠结这个后缀名了,意义不大,没什么区别。 也许比尔·盖茨比较喜欢后缀名, I think.