文档章节

使用SQLite(1)

c
 chuiyuan
发布于 2014/04/23 21:28
字数 470
阅读 23
收藏 0

一. 创建和删除库

1.创建库

两个方法,openOrCreateDatabase  和AQLiteHelper 。后者更强大 ,先说第一个。

ContextWrapper.openOrCreateDatabase(String name ,int mode, CursorFactory factory);

name :数据库的名字,后缀名为.db.

mode :一般为SQLiteDatabase.CREATE_IF_NECESSARY

factory :工厂类的对象 ,在查询时通过这个 创建 一个Cusor类。现在不用,null

例子:

SQLiteDatabase  db = openOrCreateDatabase ("mydatabase.db",SQLiteDatabase.CREATE_IF_NECESSARY,null)

2. 保存的地方 

data/data/packagename/database

3.设置数据库

线程安全

 db.setLockingEnable(true);

版本

db.setVersion(1);

4.关闭数据库

db.close();

如果以后 不用了,可以删除 

Context.deleteDatabase();   不要将删除 数据库与删除表搞错、


二. 创建玫删除表

1.在创建了数据库后,就是创建表。方法是执行sql语句 。如

CREATE TABLE  userInfo_brief (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT ,
password TEXT );

对应的java如下
String TABLENAME_1 ="userInfo_breif" ;
String ID ="id" ;
String NAME ="name";
String PASSWORD ="password";
String sql = "CREATE TABLE "+TABLENAME_1 +"("+
ID+" INTEGER PRIMARY KEY AUTOINCRENMENT ,"+
NAME+"  TEXT);";

   db.execSQL(sql);

写完了sql后执行语句 

SQLiteDatebase.execSQL(sql);

用来执行非查询语句 。

2.删除 表

SQL语句为

DROP TABLE userInfo_brief ;

对应的java为

String sql = "DROP TABLE "+TABLENAME_1+";";
db.execSQL(sql


三。操作记录
insert() ,update() ,delete()

  1. insert ()

SQLiteDatabase.insert(String table ,String nullColumnHack ,ContentValues values)

ContentValues类似 于 HashMap 。使用如下 

ContentValues values = new ContentValues ();
values.put(NAME ,"lsj");
values.put(PASSWORD, "123");
db.insert (TABLENAME_1, null, values);

2.update()

SQLiteDatabase.update(String table ,ContentValues values ,String whereclause ,String [] whereArgs)

eg:

ContentValues values=new ContentValues ( );
values.put(PASSWORD ,"1234");
db.update (TABLENAME_1 ,values ,NAME= "?" ,new String []{"hshs"} );

3. delete

SQLiteDatabase.delete (String table , String whereClause ,Stirng [] whereAgs )

eg:

db.delete( TABLENAME_1 ,NAME="?" ,new String [] {"lsj"} );

 如果删除 所有 的,则为

db.delete (TABLENAME_1 , null ,null );

4. 同时执行多个语句 ,引入 事务

如,我们要执行

delete -> insert -> update (the inserted)

当执行没有成功的时候 ,要不改变原来的数据 ,引入了事务

事务的作用:当执行一系列操作的时候 ,要么全部执行成功,要么都不执行。



© 著作权归作者所有

共有 人打赏支持
c
粉丝 9
博文 92
码字总数 40993
作品 0
海淀
私信 提问
轻巧的本地数据库 - sqlite

  前言   SQLite,是一款轻型的数据库,它的设计目标是嵌入式的,而且现在很多嵌入式产品中使用它,它占资源非常低,在嵌入设备中,可能只需要几百K的内存就够了。它能够支持Windows/Lin...

linux运维菜
11/01
0
0
一个小时内学习 SQLite 数据库

1. 介绍 SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的...

红薯
2012/05/11
53K
59
ODB(C++ ORM)用Mingw的完整编译过程

用mingw官方的GCC4.7.2编译libodb后,并用odb compiler对hello示例生成odb的"包裹"代码,编译链接总是不能通过,下面是编译example/hello报错的信息如下: libodb-sqlite-2.3.0/odb/sqlite -o d...

棋有此理
2013/12/14
0
0
一个小时内学习 SQLite 数据库

1. 介绍 SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的...

曾沙
2012/11/27
1K
0
Database (SQLite)--数据库(SQLite)

一、SQLite简介 SQLite 的网站 (sqlite.org) 对SQL进行了如下描述:“SQLite 是一个可实现独立、无服务器、零配置、事务性 SQL 数据库引擎的软件库”。这句话中的关键要素都围绕着“库”这一...

失足处男的倒霉孩子
2013/12/27
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
4
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部