文档章节

使用SQLite(1)

c
 chuiyuan
发布于 2014/04/23 21:28
字数 470
阅读 23
收藏 0
点赞 0
评论 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
博文 91
码字总数 40993
作品 0
海淀
【防衰老教程】-windows环境下安装SQLite

什么是 SQLite? SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。...

Weijue ⋅ 05/09 ⋅ 0

安卓应用安全指南 4.5.3 使用 SQLite 高级话题

安卓应用安全指南 4.5.3 使用 SQLite 高级话题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 4.5.3.1 在 SQL 语句的断言中使用通配符...

apachecn_飞龙 ⋅ 03/22 ⋅ 0

python中的SQLite数据库

python中的SQLite数据库 Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便...

幸运券发放 ⋅ 05/03 ⋅ 0

【Kotlin For Android】(三): Anko 库

一、简介 Github地址 是一个使 Android应用程序 开发更快,更容易的库。它使你的代码变得简洁易读,并让您忘记 的粗糙边缘。 Anko 由几部分组成: :一个轻量级的库,里面充满了,对话框,日...

Agnes2017 ⋅ 04/27 ⋅ 0

C语言实现的CGI,完成了留言板功能

地址:https://github.com/zhouweiit/cgi 基于ngnix+spawn_cgi+fastcgi作为服务器,使用C语言编写的cgi,实现了简单的留言板功能; 项目结构简介: 1.conf主要包含了nginx与fastcig的配置 2....

zhouweiit_ ⋅ 05/09 ⋅ 0

Node.js 的 SQLite 教程

在本教程中,我将演示如何结合sqlite3 Node.js驱动程序在Node.js环境中使用SQLite。 对于那些不熟悉SQLite的人来说,它是一个简单的单文件关系数据库,在智能设备,嵌入式系统甚至小型Web应用...

oschina ⋅ 05/31 ⋅ 0

安卓应用安全指南 4.5.1 使用 SQLite 示例代码

安卓应用安全指南 4.5.1 使用 SQLite 示例代码 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 4.5.1.1 创建/操作数据库 在 Android ...

apachecn_飞龙 ⋅ 03/22 ⋅ 0

Android_6.数据存储3_SQLite存储之创建数据库

本文是以Android Studio为开发工具,<> 为学习指导书籍的学习记录 6.4 SQLite数据 SQLite用于存储大量复杂的关系型数据,是内置在Android系统的一种轻量级的关系型数据库,它有速度快,占用资...

橄榄工作室 ⋅ 05/26 ⋅ 0

写一个“特殊”的查询构造器 - (一、程序结构,基础封装)

程序的结构 本篇开始,正式进入编码实践中。首先,简单的规划下程序的结构。 如上一篇所说的,我们需要一个基类 PDODriver 用来封装 PDO 的一些公用的方法,Mysql 等每个数据库都新建一个类 ...

MrQ被抢注了 ⋅ 05/11 ⋅ 0

EFCore2.0@Xamarin.Forms

由于忙于Xamarin的书的创作很久没有和大家见面了,回到博客我会陆续更新一些最新的Xamarin技术,还有最近一直在努力的人工智能相关知识。话说csdn的博客改版了。总觉得变化是好事情啊。 这篇...

dotNET跨平台 ⋅ 05/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

金山WPS发布了Linux WPS Office

导读 近日,金山WPS发布了Linux WPS Office中文社区版新版本,支持大部分主流Linux系统,功能更加完善,兼容性、稳定性大幅度提升。本次更新WPS将首次在Linux提供专业办公文件云存储服务,实...

问题终结者 ⋅ 昨天 ⋅ 0

springboot2输出metrics到influxdb

序 本文主要研究一下如何将springboot2的metrics输出到influxdb maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo......

go4it ⋅ 昨天 ⋅ 0

微信小程序 - 选择图片显示操作菜单

之前我分享过选择图片这个文章,但是我在实际开发测试使用中发现一个问题在使用 wx.chooseImage 选择照片显示出第一格是拍照,后面是相册里的图片。这种实现之前说过了,效果如下。 但是你从...

hello_hp ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部