Android操作SQLate数据库

本文详细介绍在Android环境下使用SQLite数据库进行基本操作的方法,包括创建数据表、添加数据、修改数据、删除数据及查询数据等核心功能,并提供具体代码实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1》基本操作(增删改查)

(1)创建数据表新建类MyDatabaseHelper继承SQLiteOpenHelper类,具体代码如下如所示

package com.example.sqlatetest;

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

/**
* Created by lenovo on 2019/1/30.
*/

public class MyDatabaseHelper extends SQLiteOpenHelper {
public static final String CREATE_STUDENT="create table student ("
+"id integer primary key autoincrement,"
+"studentnum integer,"
+"name text)";
private Context context;

public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){
super( context, name, factory, version);
this.context=context;
}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(CREATE_STUDENT);
Toast.makeText(context,"建表成功",Toast.LENGTH_SHORT).show();
}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}
}

通过按钮来使用这个类

package com.example.sqlatetest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
private MyDatabaseHelper myDatabaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDatabaseHelper=new MyDatabaseHelper(this,"Student.db",null,1);
Button button=(Button)findViewById(R.id.b1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myDatabaseHelper.getWritableDatabase();
}
});
}
}


 

 

点击按钮后数据库就建立好了,安卓同样给了我们一个查看数据库的工作,首先需要在环境变量中对path变量添加palteform-tool的路径

 

 

然后打开cmd,具体操作如下如,.shema可以查看建表语句

 

 

 

(2)添加数据

使用按钮添加数据

button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("studentnum",20163489);
contentValues.put("name","王*宇");
db.insert("student",null,contentValues);
//清空数据
contentValues.clear();

contentValues.put("studentnum",20163490);
contentValues.put("name","王*思");
db.insert("student",null,contentValues);


}
});

数据添加成功后在adb工具中输入select * from 表名;即可查看数据(结尾分号必须加上)

 

(3)修改数据

public void onClick(View view) {
SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("studentnum",20163489);
contentValues.put("name","王宇");
db.update("student",contentValues,"name = ?",new String[]{"王*宇"});


}

(4)删除数据

button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();
db.delete("student","studentnum > ?",new String[]{"20163489"});
}
});

(5)查询数据

查询数据时会返回一个cursor对象,数据可以逐条从中取出,query函数中最短的一个也要传入七个参数,这七个参数分别是

1,table:指定查询的表

2,columns:指定查询的列名

3,4,selection,selectionArgs:用于分页使用

5,groupby

6,having:对groupby后的数据再一次约束

7,orderby:排序方式

代码实现简单的查询:

button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();

Cursor cursor=db.query("student",null,null,null,null,null,null);
if(cursor.moveToFirst()){
do {
int num=cursor.getInt(cursor.getColumnIndex("studentnum"));
String name=cursor.getString(cursor.getColumnIndex("name"));
Log.d(TAG, "学号: "+num);
Log.d(TAG, "姓名: "+name);
}while(cursor.moveToNext());
}
cursor.close();
}
});

 

 

SQLate到此就简单的总结完了,但是如果是使用安卓数据库的话,还是建议使用LitePal数据库,因为LitePal数据库要比SQLite好用的多得多

转载于:https://www.cnblogs.com/837634902why/p/10336566.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值