SQLite的使用方法

发布时间:2021-10-26 10:59:54

什么是 SQLite

1.SQLite数据库存储是 Android系统提供下的数据存储方式之一
2.SQLite是专为嵌入式设备设计的一款轻量级的数据库
3.SQLite占用资源非常低,在嵌入式设备中,只需要几百k的内存
4.SQLite支持标准的SQL语法,遵循数据库的ACID事务
5.SQLite不需要安装,不需要用户名密码就可以使用


SQLite怎么用

1.创建数据库和数据表
2.添加数据
3.修改数据
4.删除数据
5.查询数据


创建数据库和数据表的步骤

1.新建类继承 Sqliteopenhelper:
2.实现构造方法
3.重写 on Create方法
4.重写onUpgrade方法
5.实例化 Sqliteopenhelpe的子类对象,例如本例的DBHelper类
6调用 getreadable Database方法或 getwritable Database方法


先创建数据库和数据表

先创建MyDatabaseHelper ,然后继承SQLiteOpenHelper ,然后写一个构造方法,接着写两个方法。

public class MyDatabaseHelper extends SQLiteOpenHelper {


private String sql = "create table student(" + " id Integer primary key autoincrement not null," + " age integer," + " score real," + "name text not null " + " )";


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

}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
//创建数据表结构语句
sqLiteDatabase.execSQL(sql);


}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
//更新数据表机构
}

}


这边是XML的代码



xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="myapplication.com.example.sq.MainActivity">


android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="name" />

android:id="@+id/newname_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="newname" />

android:id="@+id/zeng_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="增"
android:textSize="20sp" />

android:id="@+id/shan_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删"
android:textSize="20sp" />

android:id="@+id/gai_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="改"
android:textSize="20sp" />

android:id="@+id/cha_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查"
android:textSize="20sp" />




接下来就是在MainActivity里面给控件绑定id和继承View.OnClickListener的onclick方法。记住我们这边需要传入四个参数。


public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button addBtn;
private Button deleteBbtn;
private Button modifyBtn;
private Button referBtn;
private MyDatabaseHelper dpHelper;
private EditText nameEdit;
private EditText newnameEdit;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

bindID();

dpHelper = new MyDatabaseHelper(this, "mydb", null, 1);

}

private void bindID() {
addBtn = findViewById(R.id.zeng_btn);
deleteBbtn = findViewById(R.id.shan_btn);
modifyBtn = findViewById(R.id.gai_btn);
referBtn = findViewById(R.id.cha_btn);
nameEdit = findViewById(R.id.name_et);
newnameEdit = findViewById(R.id.newname_et);

addBtn.setOnClickListener(this);
deleteBbtn.setOnClickListener(this);
modifyBtn.setOnClickListener(this);
referBtn.setOnClickListener(this);

}

添加数据

****首先在onclick方法里面使用switch语句。**首先需要创建一个SQLiteDatabase 对象,然后使用ContentValues(可以有对象),然后用insert方法插入你需要的数据。**

case R.id.zeng_btn:
SQLiteDatabase sqldb = dpHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", nameEdit.getText().toString());
sqldb.insert("student", null, values);
break;

查询数据

查询数据就有点麻烦了。我们写好代码之后需要在计算机上面打开命令提示符,然后一步一步的到达你的SDK文件夹里面,为了简单方便,我们可以下一个安卓插件。而且查询这边需要用到游标,来获取数据。最后记得要把游标关闭。


case R.id.cha_btn:
SQLiteDatabase sqldb1 = dpHelper.getWritableDatabase();
Cursor cursor = sqldb1.query("student", null, null, null, null, null, null);
cursor.moveToFirst();
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
Log.e("NAME", name);
} while (cursor.moveToNext());
cursor.close();

break;

修改数据

修改数据,需要在添加一个输入框,把自己需要改的数据放在第二个输入框这边,我们第一次尝试修改数据,结果发现全改为jet了,但是我们需要改特定的那个变成jet,所以我们需要使用数据里面的一种语句。同样也要创建SQLiteDatabase 对象。修改完之后,我们可以在控制台查询一下是否被改掉了。


case R.id.gai_btn:
SQLiteDatabase sqldb2 = dpHelper.getWritableDatabase();
String name1 = nameEdit.getText().toString();
String newname = newnameEdit.getText().toString();
ContentValues values1 = new ContentValues();
values1.put("name", newname);
sqldb2.update("student", values1, "name=?", new String[]{name1});

break;

删除数据

删除数据里面的参数其实和修改里面的参数差不多。


case R.id.shan_btn:
SQLiteDatabase sqldb3 = dpHelper.getWritableDatabase();
String name2 = nameEdit.getText().toString();
sqldb3.delete("student", "name=?", new String[]{name2});

break;

相关文档

  • sim卡顶针怎么用
  • 怎么把合并
  • 佳能EOS M焦距如何
  • 秋实随笔
  • 简单的背包问题(I)
  • 弟弟的眼睛
  • 疫情期间社区“双报到”工作总结
  • 本科数学教学论文范文
  • (一) windows 10 下安装 mongodb 并 globalsign/mgo 包的简单使用
  • 在线教育平台开发需求分析
  • 《书边事》赏析
  • 入宅有哪些习俗
  • 梦见去寺庙烧香拜佛
  • 湖北二级建造师挂靠价格
  • 期颐之年是多少岁 期颐之年是什么意思
  • 电脑装机必备软件清单_装机必备(一):这几款装机必备软件可以提升你的电脑使用体验...
  • 2020年清明节悼念亲人的心情说说清明节悼念亲人的心情句子大全
  • “人类肿瘤网络图谱”正在构建
  • 开展“法律进教堂”活动实施方案
  • 霸气女生失恋专属个性签名大全
  • win7怎么把文档另存为
  • Windows平台下kafka+ flink环境的搭建以及简单使用
  • SQL2012(32位)下载及安装(32位、64位都一样,不影响)
  • Redis企业级架构方案(十)
  • 会计代理记账的注意事项
  • Haproxy请求量大出现503故障一例
  • 描述单相思的诗句
  • Animate 2021 for Mac(an 2021中文版) v21.0.1中文直装版
  • 2016年6月大学英语六级高频句子:提供
  • 呼兰河传的读书笔记八年级
  • 猜你喜欢

    电脑版