android操作Sqlite数据库

打开数据库

 File file=new File(getContext().getExternalFilesDir(null),"learn.db");
 SQLiteDatabase database=SQLiteDatabase.openOrCreateDatabase(file,null);

遍历数据库中的所有表名

Cursor tables=database.rawQuery("select name from sqlite_master where type='table' order by name",null);
names=new String[tables.getCount()-1];
int i=0;
while(tables.moveToNext()){
 //第一个不需要,去掉,将查询的信息保存在数组里
    if (i!=0){
         names[i-1]=tables.getString(0);
     }
        i++;
      }
     tables.close();

选取特定记录

sql = "select * from TableName where "+条件+" order by "+排序+" limit "+要显示多少条记录+" offset "+跳过多少条记录;

更新记录

database.execSQL("UPDATE 表名 SET 字段名 = 值 WHERE ID = 6");

删除数据

 database.execSQL("DELETE FROM 表名 WHERE ID = 1");

创建表

database.execSQL("CREATE TABLE table_name (column1 CHAR(100),column2 CHAR(100))");

判断表是否存在,不存在就创建表

database.execSQL("CREATE TABLE IF NOT EXISTS user (number CHAR(100),password CHAR(100))");

插入数据

database.execSQL(String.format("INSERT INTO english (name) VALUES (\"%s\")",data.getString(data.getColumnIndex("firstColumnName"))));

此例子是插入文本数据

向一个表中插入另一个表的数据

insert into 被插入表名 select from * where ......

查询数据、去重数据

Cursor cursor=database.rawQuery(String.format("select DISTINCT name from english"),null);

技巧

随机获取一个数据

SELECT * FROM table ORDER BY  RANDOM() limit 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值