显示该数据库中的创建操作
.schema
查看数据表
.table
创建数据表(与SQL语言相同)
create table 表名(字段1 数据类型, 字段2 数据类型, ...);
SQL语言
SQL语言在这里都可以使用,如insert(),select,update()
=============================================================================
找到sqlite3.exe
1.打开Android Studio,右上方找到SDK Manager,打开并复制SDK的路径
2.在Sdk/platform-tools目录下可以找到SQLite数据库的运行文件 sqlite3.exe,然后跟上面步骤一样配置环境变量即可。
访问数据库
1.新建一个公共类继承自SQLiteOpenHelper,建好以后需要重写构造函数,以及onCreate()和onUpgrade()两个方法
public class MyOpenHelper extends SQLiteOpenHelper {
//重写构造函数
public MyOpenHelper(Context context){
super(context, "taskDB.db", null,1);
//taskDB.db为数据库名,若不存在则创建
}
@Override
public void onCreate(SQLiteDatabase db) {
String create_sql =
"create table task(id INTEGER PRIMARY KEY AUTOINCREMENT, content varchar(50), status int);";
db.execSQL(create_sql); //执行SQL语句
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
对数据库修改或插入
//新建MyOpenHelper实例,注意自己重新定义的构造函数的参数
MyOpenHelper openHelper = new MyOpenHelper(this);
//通过getWritableDatabase()创建用于写数据库的实例
SQLiteDatabase writableDatabase = openHelper.getWritableDatabase();
//新建ContentValues类,用来存放插入数据库的数据
ContentValues task_item = new ContentValues();
//ContentValues.put(key, value) key需要与数据表的字段名对应
task_item.put("content", ((EditText) findViewById(R.id.Content)).getText().toString());
task_item.put("status",0);
//执行插入语句 writableDatabase.insert(数据表名, nullColumnHack, ContentValues)
//nullColumnHack通常为null
writableDatabase.insert("task", null, task_item);
//关闭数据库,减少内存资源浪费
writableDatabase.close();
读取数据库
public List<TaskItem> task_list = new ArrayList<>();
public void ReadDataBase(){
MyOpenHelper openHelper = new MyOpenHelper(this);
//创建SQLiteDatabase实例并获取ReadableDatabase
SQLiteDatabase read_db = openHelper.getReadableDatabase();
//使用ReadableDatabase中的游标
Cursor cursor = read_db.query("task",new String[]{"id", "content", "status"},null,null,null,null,null);
//使用while语句遍历游标Cursor,将从数据库获取的数据放进list列表中
while(cursor.moveToNext()){
TaskItem task_item = new TaskItem();
//游标get方法传入的字段索引值是从0开始的
task_item.setId(cursor.getInt(0));
task_item.setContent(cursor.getString(1));
task_item.setStatus(cursor.getInt(2));
task_list.add(task_item);
}
//关闭游标和ReadableDatabase,减少内存资源浪费
cursor.close();
read_db.close();
}
class TaskItem {
private int id;
private String content;
private int status;
public int getId() {
return id;
}
public String getContent() {
return content;
}
public int getStatus() {
return status;
}
public void setId(int id) {
this.id = id;
}
public void setContent(String content) {
this.content = content;
}
public void setStatus(int status) {
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511152217670.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaWd1aWd1,size_16,color_FFFFFF,t_70)
**感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:**
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)