SQLite的使用方法,SQLite使用方法
什么是 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的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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">
<EditText
android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="name" />
<EditText
android:id="@+id/newname_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="newname" />
<Button
android:id="@+id/zeng_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="增"
android:textSize="20sp" />
<Button
android:id="@+id/shan_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删"
android:textSize="20sp" />
<Button
android:id="@+id/gai_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="改"
android:textSize="20sp" />
<Button
android:id="@+id/cha_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查"
android:textSize="20sp" />
</LinearLayout>
接下来就是在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;
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。