当前位置:Gxlcms > 数据库问题 > sqlite数据库的初步使用

sqlite数据库的初步使用

时间:2021-07-01 10:21:17 帮助过:3人阅读

查询

  publicvoid query(View v) {

     SQLiteDatabase db = helper.getReadableDatabase();

     if (db.isOpen()) {

       // 查询获取游标(ResultSet是一样的只是名字不同)

       Cursor cursor = db.rawQuery("select * from persons", null);

       // 迭代游标

       while (cursor.moveToNext()) {

         // 获取数据

         // int _id = cursor.getInt(0);

         // cursor.getColumnIndex("_id") 获取_idcursor里面的下标

         int _id = cursor.getInt(cursor.getColumnIndex("_id"));

         String name = cursor.getString(1);

         Log.i(TAG, "_id:" + _id + ",name:" + name);

       }

       cursor.close();// 关闭游标

       db.close();

     }

 

  }

技术分享

// 更新

  publicvoid update(View v) {

     // 获取可写的数据库

     SQLiteDatabase db = helper.getWritableDatabase();

     // 判断数据库是否打开

     if (db.isOpen()) {

       // 执行sql

       db.execSQL("update persons set name =? where _id = ?",

            new Object[] { "小覃", 1 });

       // 关闭数据库

       db.close();

     }

 

  }

 

 

技术分享                                                                     // 删除

  publicvoid delete(View v) {

     // 获取可写的数据库

     SQLiteDatabase db = helper.getWritableDatabase();

     // 判断数据库是否打开

     if (db.isOpen()) {

       // 执行sql

       db.execSQL("delete from persons where _id = ?", new Object[] { 1 });

       // 关闭数据库

       db.close();

     }

  }

技术分享             

总结:

增、删、改

1.    先获取SQLiteOpenHelper数据的帮助类

private SQLiteOpenHelper helper = MySqliteOpenHelper.getIntance(this);

2.    获取数据库的可写权限

SQLiteDatabase db = helper.getWritableDatabase();

3.    判断是否打开数据库

if(db.isOpen())

4.执行sql

db.execSQL("insert into persons(name) values(‘小鸡哥‘)");

4.关闭数据库

db.close();关闭数据库

 

查询操作

1. 先获取SQLiteOpenHelper数据的帮助类

private SQLiteOpenHelper helper = MySqliteOpenHelper.getIntance(this);

 

2.获取数据库的可读权限

SQLiteDatabase db =helper.getReadableDatabase();

3.判断是否打开数据库

if(db.isOpen()){

4.查询  获取游标(ResultSet是一样的只是名字不同)

Cursor cursor = db.rawQuery("select * from persons", null);

5.迭代游标

while(cursor.moveToNext()){

  //获取数据

// int _id = cursor.getInt(0);

  //cursor.getColumnIndex("_id") 获取_idcursor里面的下标

int _id = cursor.getInt(cursor.getColumnIndex("_id"));

String name = cursor.getString(1);

Log.i(TAG, "_id:"+_id+",name:"+name);

}

cursor.close();//关闭游标

db.close();

 

(掌握)利用sql语句对数据库增删改查

SQLite可以解析大部分标准SQL语句,如:

查询语句:select * from 表名 where 条件子句 group by 分组字句 having ... order by 排序子句

如:select * from person

        select * from person order by id desc

        select name from person group by name having count(*)>1

分页SQLmysql类似,下面SQL语句获取5条记录,跳过前面3条记录

select * from Account limit 5 offset 3 或者 select * from Account limit 3,5

插入语句:insert into 表名(字段列表) values(值列表)。如: insert into person(name, age) values(‘传智’,3)

更新语句:update 表名 set 字段名= where 条件子句。如:update person set name=‘传智‘ where _id=10

删除语句:delete from 表名 where 条件子句。如:delete from person  where _id=10

 

字段名就是键的意思,字段列表就是好多键的集合

 

 

 

 

 

 

 

 

 

 

// 更新

  publicvoid update(View v) {

     // 获取可写的数据库

     SQLiteDatabase db = helper.getWritableDatabase();

     // 判断数据库是否打开

     if (db.isOpen()) {

       // 执行sql

       db.execSQL("update persons set name =? where _id = ?",

            new Object[] { "小覃", 1 });

       // 关闭数据库

       db.close();

     }

  }// 更新

  publicvoid update(View v) {

     // 获取可写的数据库

     SQLiteDatabase db = helper.getWritableDatabase();

     // 判断数据库是否打开

     if (db.isOpen()) {

       // 执行sql

       db.execSQL("update persons set name =? where _id = ?",

            new Object[] { "小覃", 1 });

       // 关闭数据库

       db.close();

     }

  }// 查询

  publicvoid query(View v) {

     SQLiteDatabase db = helper.getReadableDatabase();

     if (db.isOpen()) {

       // 查询获取游标(ResultSet是一样的只是名字不同)

       Cursor cursor = db.rawQuery("select * from persons", null);

       // 迭代游标

       while (cursor.moveToNext()) {

         // 获取数据

         // int _id = cursor.getInt(0);

         // cursor.getColumnIndex("_id") 获取_idcursor里面的下标

         int _id = cursor.getInt(cursor.getColumnIndex("_id"));

         String name = cursor.getString(1);

人气教程排行