SQLite数据库的简单使用

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);   
}   
}   
}  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQLite 是一种轻量级的关系型数据库,常用于在移动应用程序中存储和管理结构化数据。在 Android 开发中,SQLite 是默认提供的一种数据库。 以下是在 Android 中使用 SQLite 数据库的一般步骤: 1. 定义数据库模式:定义您的数据库表结构和表之间的关系。您可以使用 SQLiteOpenHelper 类来管理数据库模式。 2. 创建数据库使用 SQLiteOpenHelper 类中的 onCreate() 方法创建数据库。 3. 升级数据库使用 SQLiteOpenHelper 类中的 onUpgrade() 方法升级数据库。 4. 执行数据库操作:使用 SQLiteDatabase 类中的方法执行 SQL 查询和更新。 以下是一个简单的示例,演示如何创建 SQLite 数据库和表,以及如何插入和查询数据: 1. 定义数据库模式 ```java public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "mydatabase.db"; private static final int DB_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // Create tables db.execSQL("CREATE TABLE contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, phone TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Upgrade logic } } ``` 2. 创建数据库 ```java MyDatabaseHelper helper = new MyDatabaseHelper(context); SQLiteDatabase db = helper.getWritableDatabase(); ``` 3. 插入数据 ```java ContentValues values = new ContentValues(); values.put("name", "John"); values.put("phone", "1234567890"); long rowId = db.insert("contacts", null, values); ``` 4. 查询数据 ```java Cursor cursor = db.query("contacts", null, null, null, null, null, null); while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); String phone = cursor.getString(cursor.getColumnIndex("phone")); Log.d(TAG, "Name: " + name + ", Phone: " + phone); } cursor.close(); ``` 以上是一个简单的示例,演示了如何创建和使用 SQLite 数据库。在实际开发中,您可能需要根据具体的需求进行更复杂的操作,例如使用 JOIN 查询多个表之间的数据关系等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值