Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】

2020-04-09-星期四-第八周

目   录

 创建数据库

insert()方法

查看数据库(Save as保存)

菜鸟教程---SQLite数据库

根据 列索引 获取 参数值

列比较多---根据列名,返回索引

删除数据

query

简单方式(增删改查)

插入数据、删除数据、修改数据

查询数据

数据分页(偏移量、取得数据的数量)、查询记录数

修改数据表结构

MyHelp.java代码

android-Room框架

Room-3大组件

MainActivity.java代码

期末考试内容

创建数据库

数据库的增删改查


 创建数据库

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第1张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第2张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第3张图片

insert()方法

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第4张图片

查看数据库(Save as保存)

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第5张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第6张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第7张图片

菜鸟教程---SQLite数据库

6.3.1 数据存储与访问之——初见SQLite数据库

https://www.runoob.com/w3cnote/android-tutorial-sqlite-intro.html

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第8张图片

根据 列索引 获取 参数值

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第9张图片

列比较多---根据列名,返回索引

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第10张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第11张图片

删除数据

query

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第12张图片

简单方式(增删改查)

插入数据、删除数据、修改数据

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第13张图片

查询数据

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第14张图片

数据分页(偏移量、取得数据的数量)、查询记录数

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第15张图片

修改数据表结构

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第16张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第17张图片

MyHelp.java代码

package cn.wangzg.course0802;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.Nullable;

/**
 * Time: 2020/4/9
 * Author: wangzhiguo
 * Description: 功能描述
 */
public class MyHelper extends SQLiteOpenHelper {
    public MyHelper(@Nullable Context context) {
        super(context, "mydb.db", null, 2);//创建数据库
    }

    @Override
    public void onCreate(SQLiteDatabase db) {//创建数据表,只有第一次时执行
        db.execSQL("create table person(id integer primary key autoincrement," +
                "name varchar(20),age int,zy);");
        System.out.println("----------111111-----------");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        System.out.println("----------" + newVersion + "-----------");
        db.execSQL("alter table person add column zy;");
    }
}

android-Room框架

Google官方文档 

https://developer.android.google.cn/training/data-storage/room

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第18张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第19张图片

Room-3大组件

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第20张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第21张图片

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第22张图片

MainActivity.java代码

package cn.wangzg.course0802;

import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.util.List;

public class MainActivity extends AppCompatActivity {
    private MyHelper helper;
    private TextView tvSqlite;

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

        helper = new MyHelper(this);
        tvSqlite = findViewById(R.id.tv_sqlite);

        AppDatabase db = Room.databaseBuilder(getApplicationContext(),
                AppDatabase.class, "dbroom.db")
                .allowMainThreadQueries().build();

        User user1 = new User();
        user1.firstName = "aaa";
        user1.lastName = "bbb";
        user1.uid = 3;

        User user2 = new User();
        user2.firstName = "ccc";
        user2.lastName = "ddd";
        user2.uid = 2;
        db.userDao().insertAll(user1, user2);

        List users = db.userDao().getAll();
        for (User u : users) {

            System.out.println(u.firstName + "---" + u.lastName);
        }
    }

    public void btnInsert(View view) {
        SQLiteDatabase db = helper.getWritableDatabase();
        //ContentValues等同于Map
        ContentValues values = new ContentValues();
        values.put("name", "aaaa");//key:必须为数据表的列名
        values.put("age", 23);
        //nullColumnHack:插入时需要忽略的列
        db.insert("person", null, values);
    }

    public void btnUpdate(View view) {
        SQLiteDatabase db = helper.getWritableDatabase();

        ContentValues values = new ContentValues();
        //values.put("name","aaaa");
        values.put("age", 25);
        /**
         * update table
         * set xxx=?,xxx=?      --values
         * where xxx=?
         */
        db.update("person", values, "name=?", new String[]{"aaaa"});
    }

    public void btnDelete(View view) {
        SQLiteDatabase db = helper.getWritableDatabase();
        /**
         * delete table
         * where xxx=?
         */
        db.delete("person", "age

期末考试内容

创建数据库

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第23张图片

数据库的增删改查

Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】_第24张图片

你可能感兴趣的:(Android应用开发,数据库,sql,android,sqlite,android,studio)