SQLite数据库的简单使用

原创 2016年08月30日 15:13:28

1.创建继承SQLiteOpenHelper类的辅助类

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class DataBaseHelper extends SQLiteOpenHelper {

    //表名和字段名
    public static final String TABLE_NAME_NOTES = "notes";
    public static final String COLUMN_NAME_NOTE_NAME = "name";
    public static final String COLUMN_NAME_NOTE_CONTENT = "content";
    public static final String COLUMN_NAME_NOTE_DATE = "date";

   //第二个参数为数据库名
    public DataBaseHelper(Context context) {
        super(context, "db_note", null, 1);
    }

    /**
     * 当第一次打开数据库,表不存在时调用,以创建表
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 1.笔记的名字 2.内容 2.完成的日期
        db.execSQL("CREATE TABLE " + TABLE_NAME_NOTES + "(" + COLUMN_NAME_NOTE_DATE
                + " Text PRIMARY KEY ," + COLUMN_NAME_NOTE_NAME
                + " Text NOT NULL DEFAULT \"\"," + COLUMN_NAME_NOTE_CONTENT
                + " Text NOT NULL DEFAULT \"\"" + ")");

    }

    /**
     * 当表存在且是旧版本时调用,删除旧表,创建新表 用户更新
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}

2.关于SQLite增删改查的简单操作

(1) 增

//创建相关对象
DataBaseHelper database;
SQLiteDatabase db;
database=new DataBaseHelper(Context context);
//注意Readable和Writable的区别
db=database.getReadableDatabase();

  String title=etTitle.getText().toString();
  String content=etContent.getText().toString();
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
  String date=format.format(new Date());
  if(!title.isEmpty() && !content.isEmpty())
  {
      ContentValues cv = new ContentValues();//实例化一个  ContentValues用来装载待插入的数据
      cv.put("username","Jack Johnson");//添加用户名
      cv.put("name",title); //添加密码
      cv.put("content",content);
      cv.put("date",date);
      db.insert("notes",null,cv);//执行插入操作
   }

(2) 删除操作

//创建相关对象
DataBaseHelper database;
SQLiteDatabase db;
database=new DataBaseHelper(Context context);
//注意Readable和Writable的区别
db=database.getReadableDatabase();

 String whereClause = "name=? and date=?";//删除的条件
 String whereArgs[] ={title,date};//删除的条件参数                          db.delete("notes",whereClause,whereArgs);//执行删除

(3)修改操作

//创建相关对象
DataBaseHelper database;
SQLiteDatabase db;
database=new DataBaseHelper(Context context);
//注意Readable和Writable的区别
db=database.getReadableDatabase();

ContentValues cv = new ContentValues();//实例化          cv.put("name",etTitle.getText().toString());//添加要更改的字段及内容
                cv.put("content",etContent.getText().toString());
                String whereClause = "date=?";//修改条件
                String[] whereArgs = {etDate.getText().toString()};//修改条件的参数
                db.update("notes",cv,whereClause,whereArgs);//执行修改

(4) 查找操作

public Cursor query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);

各个参数的意义说明:

参数table:表名称

参数columns:列名称数组

参数selection:条件字句,相当于where

参数selectionArgs:条件字句,参数数组

参数groupBy:分组列

参数having:分组条件

参数orderBy:排序列

参数limit:分页查询限制

参数Cursor:返回值,相当于结果集ResultSet

Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等.

这边以有ID、用户名、密码这3个字段的名为”usertable”的表查询为例:

private void query(SQLiteDatabase db) 
{   
//查询获得游标   
Cursor cursor = db.query ("usertable",null,null,null,null,null,null);   

//判断游标是否为空   
if(cursor.moveToFirst() {   
//遍历游标   
for(int i=0;i<cursor.getCount();i++){   
cursor.move(i);   
//获得ID   
int id = cursor.getInt(0);   
//获得用户名   
String username=cursor.getString(1);   
//获得密码   
String password=cursor.getString(2);   
//输出用户信息 System.out.println(id+":"+sname+":"+snumber);   
}   
}   
}  
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android数据库SQLite的使用示例

Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences存储;第三种就是数据库SQLiteDatabase存储。文件存储我就不用多说了,而SharedPre...
  • meryvn
  • meryvn
  • 2015年09月23日 13:47
  • 3699

Sqlite的使用和一个简单的书籍管理系统(上)

虽然说app与网络打交道比较多但是sqlite还是有它很重要的责任那来一起学习一下sqlite吧 android的存储方式有如下几种sharedpreferences 文件存储 sqlite数据库 ...
  • tangsilian
  • tangsilian
  • 2016年04月24日 20:07
  • 699

IOS-19-数据库操作之(SQLite)的基础入门使用及demo源码

前言:苹果IOS操作系统较常用的数据库有两种: 1.CoreData:苹果原生数据库,可视化编辑界面,易于后期不同开发人员维护,接触过Android的SQLite或者Sql语句的开发人员不太适应这种方...
  • IOT_LI
  • IOT_LI
  • 2015年10月23日 16:39
  • 1102

Android学习之SQLite数据库简单测试实例

MyOpenDB.java文件 package com.example.androidsqlite; import android.content.Context; import android....
  • wyh09102010
  • wyh09102010
  • 2013年09月18日 08:40
  • 1909

SQLite数据库简介

SQLite数据库简介1. 介绍SQLite 是 D.Richard Hipp 用 C 语言编写的开源嵌入式数据库引擎。SQLite 是一种轻量级的小型数据库,虽然比较小,但是功能相对比较完善,一些常...
  • zhliro
  • zhliro
  • 2015年09月27日 21:22
  • 609

学习笔记:Android SQLite,并实现SQLite基本CRUD操作的Demo

一、背景       Android系统内置有SQLite,用户可以在本地存放大量较为复杂的关系型数据,相较于File操作和SharedPreferences只能存放简单的数据,SQLite具有更大的...
  • jinxin_cuit
  • jinxin_cuit
  • 2016年09月21日 15:35
  • 974

【Android数据存储】SQLite使用实例(附源码)

实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员   数据库基类 – DBHelper.java 01 pa...
  • wirelessqa
  • wirelessqa
  • 2013年02月16日 16:06
  • 13811

SQLite数据库使用

一、安装SQLite3方法       1、字符界面             sudo apt-get install sqlite3       2、图形界面             sud...
  • hanbo622
  • hanbo622
  • 2014年09月26日 12:34
  • 4481

Qt之操作数据库(SQLite)实例

QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。...
  • rl529014
  • rl529014
  • 2016年08月05日 11:17
  • 13008

Android入门——数据存储之SQLite详解与简单应用

引言很多时候我们的APP都不能独立于数据之外,常常对数据进行各种操作。Android为数据存储提供了多种方式,主要有五种:文件、SharedPreferences、SQLite、网络、内容提供者。这一...
  • CrazyMo_
  • CrazyMo_
  • 2015年10月01日 18:42
  • 1099
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLite数据库的简单使用
举报原因:
原因补充:

(最多只允许输入30个字)