美文网首页
SQLite的简单操作

SQLite的简单操作

作者: Tank_Mao | 来源:发表于2021-11-09 16:17 被阅读0次

本文参考郭霖《第一行代码》第2版

public class DBActivity extends AppCompatActivity {

    private static final String TAG = "DBActivity";
    private MyDatabaseHelper dbHelper;

    @Override
    protected void onCreate(Bundle savedInstance) {
        super.onCreate(savedInstance);
        setContentView(R.layout.activity_db);

        dbHelper = new MyDatabaseHelper(DBActivity.this, "BookStore.db", null, 4);
        //绑定view
        Button createDatabase = findViewById(R.id.create_database);
        Button addData = findViewById(R.id.add_data);
        Button updateData = findViewById(R.id.update_data);
        Button deleteData = findViewById(R.id.delete_data);
        Button queryData = findViewById(R.id.query_data);
        //设置监听器
        createDatabase.setOnClickListener(v -> {
            //创建数据库
            dbHelper.getWritableDatabase();
        });
        //添加数据
        addData.setOnClickListener(v -> {
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            ContentValues values = new ContentValues();
            //开始装第一组数据
            values.put("name", "第一行代码");
            values.put("author", "guolin");
            values.put("pages", 570);
            values.put("price", 30);
            db.insert("Book", null, values);
            values.clear();
            //开始装第二组数据
            values.put("name", "疯狂Android讲义");
            values.put("author", "ligang");
            values.put("pages", 510);
            values.put("price", 50.5);
            db.insert("Book", null, values);
        });
        //更新数据
        updateData.setOnClickListener(v -> {
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            ContentValues values = new ContentValues();
            values.put("price", 9.99);
            db.update("Book", values, "name = ?", new String [] {"第一行代码"});
        });
        //删除数据
        deleteData.setOnClickListener(v -> {
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            db.delete("Book", "pages < ?", new String[]{"550"});
        });
        //查询数据
        queryData.setOnClickListener(v -> {
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            //查询Book表中所有的数据
            Cursor cursor = db.query("Book", null, null, null, null, null, null);
            if (cursor.moveToFirst()){
                do {
                    //遍历Cursor对象,取出数据并打印
                    String name = cursor.getString(cursor.getColumnIndex("name"));
                    String author = cursor.getString(cursor.getColumnIndex("author"));
                    int pages = cursor.getInt(cursor.getColumnIndex("pages"));
                    double price = cursor.getDouble(cursor.getColumnIndex("price"));
                    Log.d(TAG, "book name is " + name);
                    Log.d(TAG, "book author is " + author);
                    Log.d(TAG, "book pages is " + pages);
                    Log.d(TAG, "book price is " + price);
                }while (cursor.moveToNext());
            }
            cursor.close();
        });
    }
}

下面是继承SQLiteOpenHelper的数据库帮助类的源代码:

public class MyDatabaseHelper extends SQLiteOpenHelper {

    public static final String CREATE_BOOK = "create table Book ("
            + "id integer primary key autoincrement, "
            + "author text, "
            + "price real, "
            + "pages integer, "
            + "name text)";

    public static final String CREATE_CATEGORY = "create table Category ("
            + "id integer primary key autoincrement, "
            + "category_name text, "
            + "category_code integer)";

    private Context mContext;

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_BOOK);
        db.execSQL(CREATE_CATEGORY);
        Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        db.execSQL("drop table if exists Book");
        db.execSQL("drop table if exists Category");
        onCreate(db);

    }
}

备注:用adb查看db文件:

adb shell 
if (手机root ) 会显示 # else 会显示$ 
如果没有root 执行 su root
cd /data/data/packagename/databases
sqlite3  BookStore.db
.table   //查看所有表
.schema   //查看建表语句

特别注意:查询语句最后需要加“;”

select * from Book;

相关文章

  • Sqlite 使用笔记

    1. 数据库基本操作封装 sqlite 数据操作 语句类型 sqlite 数据库的简单实用- 导入sqlite3数...

  • SQLite的简单操作

    本文是对SQLite操作的文章,分两种操作方式:一种是传统的SQLiteOpenHelper,另一种是性能表现较好...

  • SQLite的简单操作

    本文参考郭霖《第一行代码》第2版 下面是继承SQLiteOpenHelper的数据库帮助类的源代码: 备注:用ad...

  • NOSQL

    C#对sqlite的简单操作 联系方式

  • Python 使用 sqlite3 操作 SQLite 数据库

    SQLite 作为一个轻量数据库,操作非常简单,python 也提供了相应的操作模块 sqlite3,下面介绍一下...

  • dataset与数据库

    近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库 一、SQLite操作,直接贴代码,很简单:...

  • GreenDao —— 简单快速操作 Android SQLit

    GreenDao —— 简单快速操作 Android SQLite 数据库 GreenDao 是轻量快速的 SQL...

  • sqlite3的简单操作

    1.添加使用sqlite的库libsqlite3.dylib 2.操作sqlite的方法 1.打开数据库 sqli...

  • sqlite命令操作

    Sqlite命令操作建立数据库档案用sqlite3建立数据库的方法很简单,只要在shell下键入(以下$符号为sh...

  • iOS基础 --SQlite与单例类使用的简单方法

    数据库操作的简单流程 Linux系统级的SQLite技术实现框架:Build Phases —>Link With...

网友评论

      本文标题:SQLite的简单操作

      本文链接:https://www.haomeiwen.com/subject/vtzmzltx.html