Android操作SQLate数据库

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();
}
});
}
}


Android操作SQLate数据库

 

 

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

 

Android操作SQLate数据库

 

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

 

 

Android操作SQLate数据库

 

(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 表名;即可查看数据(结尾分号必须加上)

Android操作SQLate数据库

 

(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[]{"王*宇"});


}

Android操作SQLate数据库

(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();
}
});

Android操作SQLate数据库

 

 

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

Android操作SQLate数据库

上一篇:c#命名空间


下一篇:C# 应用程序文件夹结构