一.Sqlite介绍
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,Android使用它保存本地数据
安装Sqlite3
sudo apt-get install sqlite3
Sqlie 支持的基本数据类型
类型 | 介绍 |
---|---|
NULL | 值是一个 NULL 值。 |
INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
BLOB | 值是一个 blob 数据,完全根据它的输入存储。 |
Sqlite3的sql语句
以创建表book(bookname,version),book2(bookname,version,author)为例
创建数据库
sqlite3 tes.db
创建表
create table book(bookname TEXT,version INTEGER);
create table book2(bookname TEXT,version INTEGER,author TEXT);
显示表
.table
删除表则命令为
drop table book;
插入数据
insert into book (bookname, version) values (‘name1’, 1);
insert into book values(‘name2’,2);
删除数据
delete from book where version = 2;
数据更新命令
update book set bookname='name22’where version = 2;
查询数据
select * from book;
显示各表结构
select * from sqlite_master where type=“table” ;
迁移表
book2比多1列.所以加空格’ ’
insert into book2 select *,’ ’ from book;
insert into book select bookname,version from book2;
二.Android Sqlite数据库
完成存储app信息的数据库
创建数据库
public class AppDataBase extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "AppInfo.db";
private static final String TAG = "AppDataBase";
private static final String TB_NAME = "appinfo";
private static final int DATABASE_VERSION = 1;
private static final String SQL = "create table " + TB_NAME + " ( " +
"isSystem INTEGER," +
"appname TEXT," +
"packageName TEXT," +
"versionName TEXT," +
"versionCode INTEGER," +
"launcherlist TEXT," +
"appIcon BLOB," +
"appDir TEXT" +
")";
public AppDataBase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL);