SQLite语句

1.重写SQLiteOpenHelper

// 例.
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    public MySQLiteOpenHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
    /**
     * 重写的构造方法,使用预设库名
     * @param context
     */
    public MySQLiteOpenHelper(Context context){
        //上下文环境,数据库名,null,版本号(数据库版本号可随便写)
        super(context,"inet_address",null,2);
    }

    /**
     * 创建数据库方法,仅会调用一次
     * @param sqLiteDatabase
     */
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        //如果这个表存在则删除
        sqLiteDatabase.execSQL("drop table if exists t_main");
        //建表
        sqLiteDatabase.execSQL("CREATE TABLE t_main (s_id  varchar(20) primary key," +
                "s_i integer"+
                "s_inet_address text )");
    }

    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

2.建表 

public void onCreate(SQLiteDatabase db) {
    db.execSQL("drop table if exists d_record");//如果这个表存在则删除

    db.execSQL("CREATE TABLE d_record (s_id  integer primary key," +
                " s_title varchar(20)," +
                " s_con text," +
                " s_uid varchar(20)," +//用户ID
                " s_time varchar(20) ,"+"s_type varch(20) )");
}

3.插入

SQLiteDatabase database_write=helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("s_name", name );
values.put("s_conn", conn );
values.put("s_imageId", imageId );
database_write.insert("d_record","s_id",values);
database_write.close();

insert()方法接收三个参数:表名、当插入行的其中一列为NULL时,数据将放置的列名(如果没有这样的列,则传入 null)和要插入的数据集合。 

4.查询

SQLiteDatabase sqLiteDatabase=new MySQLiteOpenHelper(MainActivity.this).getReadableDatabase();

Cursor cursor=sqLiteDatabase.query("t_main",new String[]{"inet_address"},null,null,null,null,null);

cursor.moveToNext();  //查询后得到Cursor,读取前要先移动指针

cursor.close();

sqLiteDatabase.close();

下面是query()方法的基本语法:

public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
  • table:指定要查询的数据库表的名称。
  • columns:指定要返回的列的名称,如果为null,则返回所有列。
  • selection:指定WHERE子句,用于过滤结果。可为null。
  • selectionArgs:指定selection参数中的占位符的值。可为null。
  • groupBy:指定分组的列。可为null。
  • having:指定HAVING子句,用于过滤分组。可为null。
  • orderBy:指定结果的排序方式。可为null。
  • limit:指定返回的行数限制。可不写。

5.更新

MySQLiteOpenHelper mySQLiteOpenHelper=new MySQLiteOpenHelper(InetAddressManagerActivity.this);
SQLiteDatabase sqLiteDatabase=mySQLiteOpenHelper.getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("s_inet_address","127.0.0.1");
sqLiteDatabase.update("t_main",contentValues,"id = ?",new String[]{"1"});
sqLiteDatabase.close();
mySQLiteOpenHelper.close();

update()方法用于更新数据库中的现有行。它接受四个参数: 

  • 表名称:要更新的表的名称。
  • ContentValues 对象:包含新值的列/值对。
  • WHERE 子句:确定要更新哪些行的条件子句。如果传入 null,则将更新表中的所有行。
  • WHERE 子句中的参数值数组:用于替换 WHERE 子句中的占位符的值。

tag:SQLite;数据库;查询;插入;更新;建表

相关推荐

  1. SQLite语句

    2024-03-14 19:48:02       22 阅读
  2. SQLite 语法大全

    2024-03-14 19:48:02       14 阅读
  3. Rust 语言使用 SQLite 数据库

    2024-03-14 19:48:02       13 阅读
  4. SQLite

    2024-03-14 19:48:02       25 阅读
  5. sqlite

    2024-03-14 19:48:02       9 阅读
  6. 【C语言数据库】Sqlite3基础介绍

    2024-03-14 19:48:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-14 19:48:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-14 19:48:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-14 19:48:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-14 19:48:02       20 阅读

热门阅读

  1. mysql订单表设计

    2024-03-14 19:48:02       18 阅读
  2. vector与list的区别与应用?

    2024-03-14 19:48:02       26 阅读
  3. 依赖注入与控制反转:优化Go语言REST API客户端

    2024-03-14 19:48:02       16 阅读
  4. 探索信号处理:低通滤波器的原理与应用

    2024-03-14 19:48:02       17 阅读
  5. ts中高阶类型的理解

    2024-03-14 19:48:02       17 阅读
  6. 最少刷题数

    2024-03-14 19:48:02       16 阅读
  7. 工作随记:oracle重建一张1T数据量的大表

    2024-03-14 19:48:02       16 阅读
  8. c#计算闰年

    2024-03-14 19:48:02       20 阅读
  9. 基于ElasticSearch的海量AIS数据存储方法

    2024-03-14 19:48:02       23 阅读
  10. 【Python】-闲聊:如何系统的自学Ptyhon

    2024-03-14 19:48:02       23 阅读
  11. PHP序列化基础知识储备

    2024-03-14 19:48:02       19 阅读
  12. Oracle——用户、角色、权限的创建、删除、修改

    2024-03-14 19:48:02       20 阅读
  13. day2-C++

    day2-C++

    2024-03-14 19:48:02      16 阅读